@import url('https://fonts.googleapis.com/css2?family=Poppins:wght=300;400;500;600;700&display=swap');

:root {
  --primary: #8B5E3C;
  --secondary: #C8A27A;
  --light: #F8F5F2;
  --text: #3F3A36;
  --white: #fff;
}

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

body {
  font-family: 'Poppins', sans-serif;
  color: var(--text);
  background: #fcfbfa;
  line-height: 1.7;
}

/* ================= NAVBAR ================= */

.navbar {
  transition: .35s;
  background: #fff;
}

.navbar-brand img {
  height: 60px;
}

.navbar-nav {
  gap: 12px;
}

.nav-link {
  color: #5A4A42;
  font-weight: 500;
  position: relative;
  transition: .3s;
}

.nav-link:hover {
  color: #9A7154;
}

.nav-link::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 0;
  height: 2px;
  background: #B98B6A;
  transition: .3s;
}

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

.btn-agendar {
  background: #8B5E3C;
  color: white;
  border-radius: 50px;
  padding: 14px 28px;
  font-weight: 600;
  transition: .3s;
}

.btn-agendar:hover {
  background: #6F472D;
  color: white;
  transform: translateY(-2px);
  box-shadow: 0 12px 25px rgba(111, 71, 45, .25);
}

.navbar-toggler {
  border: none;
}

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

@media(max-width:991px) {
  .navbar-nav {
    margin: 30px 0;
    gap: 8px;
    text-align: center;
  }

  .btn-agendar {
    width: 100%;
  }
}

/* ================= GERENCIAIS / COMPONENTES ================= */

header {
  background: linear-gradient(135deg, #fdfaf7, #efe4d8);
  min-height: 80vh;
  display: flex;
  align-items: center;
}

header h1 {
  font-weight: 700;
  color: var(--primary);
  margin-bottom: 20px;
}

header p {
  font-size: 1.15rem;
  margin-bottom: 30px;
}

.btn-primary {
  background: var(--primary);
  border: none;
  padding: .85rem 1.8rem;
  border-radius: 50px;
}

.btn-primary:hover {
  background: #6f492d;
}

.btn-outline-secondary {
  border-radius: 50px;
}

img {
  max-width: 100%;
}

section {
  padding: 80px 0;
}

h2 {
  color: var(--primary);
  font-weight: 700;
  margin-bottom: 40px;
  text-align: center;
}

.card {
  border: none;
  border-radius: 18px;
  transition: .3s;
  box-shadow: 0 8px 25px rgba(0, 0, 0, .05);
}

.card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, .12);
}

.card h5 {
  color: var(--primary);
  font-weight: 600;
}

/*==================== FORMULÁRIO ====================*/

#pre-atendimento {

  padding: 120px 0;

  background: linear-gradient(180deg, #fcfbfa, #f4ede6);

}

.formulario-card {

  background: #fff;

  border-radius: 30px;

  overflow: hidden;

  box-shadow: 0 30px 80px rgba(0, 0, 0, .08);

}

.formulario-info {

  background: linear-gradient(135deg, #8B5E3C, #A77756);

  color: #fff;

  padding: 70px 50px;

  display: flex;

  flex-direction: column;

  justify-content: center;

}

.badge-form {

  display: inline-block;

  width: max-content;

  background: rgba(255, 255, 255, .15);

  padding: 8px 18px;

  border-radius: 50px;

  margin-bottom: 25px;

  font-size: .85rem;

  letter-spacing: 1px;

}

.formulario-info h2 {

  color: #fff;

  text-align: left;

  margin-bottom: 25px;

  font-size: 2.3rem;

}

.formulario-info p {

  opacity: .9;

  margin-bottom: 35px;

}

.info-item {

  margin-bottom: 18px;

  font-size: 1.05rem;

}

.info-item i {

  margin-right: 10px;

}

form {

  padding: 60px;

}

form label {

  font-weight: 600;

  margin-bottom: 8px;

  color: #5A4A42;

}

.input-group {

  box-shadow: none;

}

.input-group-text {

  background: #F8F5F2;

  border: 1px solid #ddd;

  border-right: none;

  color: #8B5E3C;

  border-radius: 14px 0 0 14px;

  padding: 0 18px;

}

.form-control {

  border: 1px solid #ddd;

  border-left: none;

  border-radius: 0 14px 14px 0;

  height: 56px;

  padding: 15px;

}

textarea.form-control {

  height: 170px;

  resize: none;

}

.form-control:focus {

  border-color: #8B5E3C;

  box-shadow: 0 0 0 .2rem rgba(139, 94, 60, .15);

}

.input-group:focus-within .input-group-text {

  border-color: #8B5E3C;

  background: #F3E8DD;

}

.btn-agendar {

  font-size: 18px;

  font-weight: 600;

  border-radius: 14px;

  padding: 16px;

}

@media(max-width:991px) {

  .formulario-info {

    padding: 50px 35px;

  }

  form {

    padding: 35px;

  }

}

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

.footer{

    width:100%;

    margin:0;

    padding:80px 0 30px;

    background:#4F3424;

    color:#fff;

}

.footer-logo {

  max-width: 220px;

}

.footer p {

  color: rgba(255, 255, 255, .8);

  line-height: 1.8;

}

.footer h5 {

  color: #fff;

  margin-bottom: 25px;

  font-weight: 600;

}

.footer-links,
.footer-contact {

  list-style: none;

  padding: 0;

  margin: 0;

}

.footer-links li,
.footer-contact li {

  margin-bottom: 15px;

}

.footer-links a {

  color: rgba(255, 255, 255, .8);

  text-decoration: none;

  transition: .3s;

}

.footer-links a:hover {

  color: #fff;

  padding-left: 6px;

}
.footer a{
    color: inherit;
    text-decoration: none;
    transition: .3s;
}

.footer a:hover{
    color: #ffffff; /* ou a cor principal do seu site */
}

.footer a:visited{
    color: inherit;
}

.footer a:active{
    color: inherit;
}
.footer-contact i {

  width: 24px;

  color: #C8A27A;

}

.social-icons {

  display: flex;

  gap: 15px;

  margin-top: 25px;

}

.social-icons a {

  width: 48px;

  height: 48px;

  border-radius: 50%;

  background: rgba(255, 255, 255, .08);

  display: flex;

  justify-content: center;

  align-items: center;

  color: #fff;

  font-size: 22px;

  transition: .3s;

}

.social-icons a:hover {

  background: #C8A27A;

  transform: translateY(-4px);

}

.footer hr {

  border-color: rgba(255, 255, 255, .1);

  margin: 50px 0 30px;

}

.footer-bottom {

  display: flex;

  justify-content: space-between;

  align-items: center;

  flex-wrap: wrap;

  gap: 15px;

}

.footer-bottom p {

  margin: 0;

  color: rgba(255, 255, 255, .7);

}

.footer-bottom a {

  color: #C8A27A;

  text-decoration: none;

  font-weight: 600;

}

.footer-bottom a:hover {

  color: #fff;

}

@media(max-width:991px) {

  .footer {

    text-align: center;

  }

  .social-icons {

    justify-content: center;

  }

  .footer-bottom {

    flex-direction: column;

  }

}

@media(max-width:991px) {
  header {
    text-align: center;
    min-height: auto;
    padding: 60px 0;
  }

  header img {
    margin-top: 40px;
  }
}

@media(max-width:576px) {
  header h1 {
    font-size: 2rem;
  }

  h2 {
    font-size: 1.8rem;
  }

  .btn {
    width: 100%;
    margin-bottom: 10px;
  }
}

/* ================= HERO ================= */

.hero-section {
  min-height: 90vh;
  background: #f8f5f2;
  overflow: hidden;
}

.hero-content {
  max-width: 620px;
  margin-left: auto;
  padding-right: 90px;
  padding-left: 15px;
}
.hero-info{

    display:flex;
    flex-direction:column;
    gap:18px;
    margin:35px 0;

}

.hero-info-item{

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

    font-size:1.05rem;
    font-weight:500;

    color:#495057;

}

.hero-info-item strong{

    color:#7A5C4D;
    font-weight:700;

}

.hero-info-item i{

    width:50px;
    height:50px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:#8B6B5A;

    color:#ffffff;

    font-size:22px;

    flex-shrink:0;

    transition:.3s;

}

.hero-info-item:hover i{

    color:#7A5C4D;
    background:#fff;
    transform:scale(1.08);

}

.hero-info-item:hover{

    color:#7A5C4D;

}
.hero-image {
  position: relative;
  height: 90vh;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  overflow: hidden;
  background: #f8f5f2;
}

.img-hero {
  position: absolute;
  right: 0;
  bottom: 0;
  height: 100%;
  width: auto;
  max-width: none;
  object-fit: contain;
  object-position: right bottom;
  z-index: 1;

  /* Máscara padrão (Desktop): esmaece da esquerda para a direita */
  -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0, 0, 0, 0.05) 8%, #000 45%);
  mask-image: linear-gradient(to right, transparent 0%, rgba(0, 0, 0, 0.05) 8%, #000 45%);
}

/* Telas Médias e Mobile */
@media(max-width:991px) {
  .hero-section {
    min-height: auto;
  }

  .hero-content {
    margin: auto;
    padding: 70px 25px;
    text-align: center;
  }

  .hero-image {
    height: 500px;
    /* Leve aumento para acomodar melhor a foto em tablets */
  }

  .img-hero {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;

    /* Corrigido: Em telas médias, suaviza a transição de cima para baixo */
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.05) 12%, #000 40%);
    mask-image: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.05) 12%, #000 40%);
  }
}

/* Celulares Pequenos */
@media(max-width:576px) {
  .img-hero {
    /* Desativa apenas em telas muito pequenas onde a foto preenche tudo e não precisa sumir */
    -webkit-mask-image: none;
    mask-image: none;
  }
}

.area-icon {

  font-size: 52px;

  color: #8B5E3C;

  margin-bottom: 20px;

  transition: .35s;

}

.card:hover .area-icon {

  transform: scale(1.15);

  color: #C8A27A;

}

.card {

  border: none;

  border-radius: 20px;

  padding: 20px;

}

.card h5 {

  margin-bottom: 15px;

  font-weight: 600;

}

.card p {

  color: #777;

}

.sobre-section {
  background: #fff;
}

.section-tag {
  display: inline-block;
  background: #F3E8DD;
  color: #8B5E3C;
  padding: 8px 18px;
  border-radius: 50px;
  font-size: .85rem;
  font-weight: 600;
  letter-spacing: 1px;
  margin-bottom: 18px;
}

.sobre-section h2 {
  text-align: left;
  margin-bottom: 25px;
  color: #3F3A36;
}

.sobre-section .lead {
  font-size: 1.2rem;
  color: #555;
}
.sobre-img{
    width:100%;
    height:650px;
    object-fit:cover;
    transition:transform .8s ease;
}

#sobreCarousel{
    border-radius:20px;
    overflow:hidden;
}

#sobreCarousel:hover .sobre-img{
    transform:scale(1.03);
}

.carousel-fade .carousel-item{
    opacity:0;
    transition:opacity 1.2s ease-in-out;
}

.carousel-fade .carousel-item.active{
    opacity:1;
}

@media (max-width:992px){

    .sobre-img{
        height:420px;
    }

}

.info-card {

  background: #F8F5F2;

  border-radius: 18px;

  text-align: center;

  padding: 25px 15px;

  height: 100%;

  transition: .3s;
}

.info-card:hover {

  transform: translateY(-6px);

  box-shadow: 0 15px 35px rgba(0, 0, 0, .08);

}

.info-card h3 {

  color: #8B5E3C;

  font-size: 2rem;

  font-weight: 700;

  margin-bottom: 8px;

}

.info-card p {

  margin: 0;

  color: #666;

}

.testimonials{
    background: linear-gradient(180deg,#f8f5f2,#fff);
}

.testimonial-card{

    max-width:800px;

    background:#fff;

    padding:50px 40px;

    border-radius:24px;

    box-shadow:0 25px 60px rgba(0,0,0,.08);

    text-align:center;

    position:relative;

}

.testimonial-card .quote{

    font-size:1.2rem;

    color:#4a403a;

    line-height:1.8;

    margin-bottom:20px;

    font-style:italic;

}

.stars{

    color:#C8A27A;

    font-size:20px;

    margin-bottom:15px;

    letter-spacing:2px;

}

.testimonial-card h5{

    color:#8B5E3C;

    font-weight:700;

    margin-bottom:5px;

}

.testimonial-card span{

    color:#888;

    font-size:.95rem;

}

/* Setas mais elegantes */

.carousel-control-prev-icon,
.carousel-control-next-icon{

    background-color:#8B5E3C;

    border-radius:50%;

    padding:20px;

    background-size:60%;

}

/* Indicadores */

.carousel-indicators [data-bs-target]{

    background-color:#C8A27A;

    width:10px;

    height:10px;

    border-radius:50%;

}

/* Mobile */

@media(max-width:768px){

    .testimonial-card{
        padding:35px 25px;
    }

    .testimonial-card .quote{
        font-size:1rem;
    }

}

.faq-section{

    background:linear-gradient(180deg,#fff,#f8f5f2);

}

.faq-section h2{

    color:#8B5E3C;

    font-weight:700;

}

.faq-accordion{

    max-width:900px;

    margin:0 auto;

}

.faq-accordion .accordion-item{

    border:none;

    border-radius:18px;

    margin-bottom:15px;

    overflow:hidden;

    box-shadow:0 10px 25px rgba(0,0,0,.05);

}

.faq-accordion .accordion-button{

    background:#fff;

    font-weight:600;

    color:#3F3A36;

    padding:20px;

    box-shadow:none;

}

.faq-accordion .accordion-button:not(.collapsed){

    background:#F3E8DD;

    color:#8B5E3C;

}

.faq-accordion .accordion-body{

    background:#fff;

    color:#666;

    line-height:1.7;

    padding:20px;

}

.faq-accordion .accordion-button:focus{

    box-shadow:none;

    border-color:transparent;

}

.mapa-container {
    border-radius: 20px;
    overflow: hidden;
}

.local-info h4 {
    font-weight: 700;
}

#localizacao {
    scroll-margin-top: 100px;
}
.banner-card{

    background:#fff;

    border-radius:25px;

    padding:50px;

    box-shadow:0 15px 45px rgba(0,0,0,.08);

}

.banner-card img{

    width:100%;

    height:620px;

    object-fit:cover;

}

.banner-card-campanha img{

    width:100%;
    height:620px;

    object-fit:contain;

}

.banner-tag{

    display:inline-block;

    background:#F3E8DD;

    color:#7A5C4D;

    padding:8px 18px;

    border-radius:30px;

    font-size:.9rem;

    font-weight:600;

    margin-bottom:18px;

}

.banner-card h3{

    font-size:2rem;

    font-weight:700;

    margin-bottom:20px;

    color:#222;

}

.banner-card p{

    font-size:1.08rem;

    color:#666;

    margin-bottom:30px;

    line-height:1.8;

}

#bannerCarousel .carousel-control-prev,
#bannerCarousel .carousel-control-next{

    width:60px;

}

#bannerCarousel .carousel-control-prev-icon,
#bannerCarousel .carousel-control-next-icon{

    background-color:#7A5C4D;

    border-radius:50%;

    padding:20px;

}

@media(max-width:991px){

.banner-card{

padding:30px;

}

.banner-card img{

height:280px;

margin-bottom:30px;

}

.banner-card h3{

font-size:1.7rem;

}

}
.cookie-banner{

position:fixed;

bottom:20px;

left:20px;

right:20px;

background:#fff;

padding:20px;

border-radius:15px;

box-shadow:0 10px 30px rgba(0,0,0,.15);

display:flex;

justify-content:space-between;

align-items:center;

gap:20px;

z-index:9999;

}

.cookie-banner.hidden{

display:none;

}

@media(max-width:768px){

.cookie-banner{

flex-direction:column;

text-align:center;

}

}

/* ===========================
   BOTÃO FLUTUANTE WHATSAPP
=========================== */

.whatsapp-float{

    position:fixed;

    right:25px;

    bottom:25px;

    z-index:9999;

    display:flex;

    align-items:center;

    gap:12px;

    padding:14px 20px;

    background:#25D366;

    color:#fff;

    border-radius:60px;

    text-decoration:none;

    box-shadow:0 10px 30px rgba(37,211,102,.35);

    transition:.3s;

    animation:whatsappPulse 2s infinite;

}

.whatsapp-float:hover{

    background:#1EBE5D;

    color:#fff;

    transform:translateY(-4px);

}

.whatsapp-float i{

    font-size:30px;

    line-height:1;

}

.whatsapp-float span{

    font-weight:600;

    font-size:15px;

    white-space:nowrap;

}

/* Pulso */

@keyframes whatsappPulse{

    0%{

        box-shadow:0 0 0 0 rgba(37,211,102,.45);

    }

    70%{

        box-shadow:0 0 0 18px rgba(37,211,102,0);

    }

    100%{

        box-shadow:0 0 0 0 rgba(37,211,102,0);

    }

}

/* Mobile */

@media(max-width:768px){

    .whatsapp-float{

        width:60px;

        height:60px;

        padding:0;

        justify-content:center;

        border-radius:50%;

    }

    .whatsapp-float span{

        display:none;

    }

    .whatsapp-float i{

        font-size:34px;

    }

}

/* =======================================
   COMO FUNCIONA
======================================= */

.processo-section{
    background:#faf8f6;
}

.processo-section .section-tag{
    color:#8B6B5A;
}

.process-card{

    background:#fff;

    border-radius:20px;

    padding:35px 28px;

    text-align:center;

    height:100%;

    box-shadow:0 10px 30px rgba(0,0,0,.06);

    transition:.35s ease;

    border-top:4px solid transparent;

}

.process-card:hover{

    transform:translateY(-8px);

    box-shadow:0 20px 40px rgba(0,0,0,.12);

    border-color:#8B6B5A;

}

.process-icon{

    width:80px;

    height:80px;

    border-radius:50%;

    margin:0 auto 25px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:#f4ece7;

}

.process-icon i{

    font-size:34px;

    color:#6B4F3F;

}

.process-card h4{

    color:#6B4F3F;

    font-weight:700;

    margin-bottom:18px;

}

.process-card p{

    color:#666;

    line-height:1.8;

    margin:0;

}


/* =======================================
   PLANOS
======================================= */

.atendimento-card{

    background:#fff;

    border-radius:22px;

    padding:40px;

    height:100%;

    box-shadow:0 15px 40px rgba(0,0,0,.08);

    transition:.35s;

    border:2px solid #f0ebe7;

}

.atendimento-card:hover{

    transform:translateY(-8px);

    border-color:#8B6B5A;

    box-shadow:0 20px 45px rgba(0,0,0,.12);

}

.atendimento-card .badge{

    background:#efe7df !important;

    color:#6B4F3F !important;

    font-size:.85rem;

    padding:10px 18px;

    border-radius:30px;

    letter-spacing:.5px;

}

.atendimento-card h3{

    color:#6B4F3F;

    font-size:1.6rem;

    font-weight:700;

    margin:20px 0;

}

.atendimento-card ul{

    list-style:none;

    padding:0;

    margin:0;

}

.atendimento-card li{

    position:relative;

    padding-left:34px;

    margin-bottom:16px;

    color:#555;

    line-height:1.7;

}

.atendimento-card li::before{

    content:"✓";

    position:absolute;

    left:0;

    top:2px;

    width:22px;

    height:22px;

    border-radius:50%;

    background:#8B6B5A;

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:.8rem;

    font-weight:bold;

}


/* =======================================
   BLOCO DE DESTAQUE
======================================= */

.processo-section .alert{

    background:linear-gradient(135deg,#faf6f2,#f4ece7);

    border-left:6px solid #8B6B5A;

    border-radius:22px;

}

.processo-section .alert h4{

    color:#6B4F3F;

    font-weight:700;

}

.processo-section .alert p{

    color:#555;

    line-height:1.9;

}


/* =======================================
   RESPONSIVO
======================================= */

@media(max-width:991px){

    .process-card{

        padding:30px 22px;

    }

    .atendimento-card{

        padding:30px;

    }

    .atendimento-card h3{

        font-size:1.35rem;

    }

}

@media(max-width:768px){

    .process-icon{

        width:70px;

        height:70px;

    }

    .process-icon i{

        font-size:28px;

    }

    .process-card{

        margin-bottom:15px;

    }

    .atendimento-card{

        padding:25px;

    }

}
.instagram-section{

    background:#faf8f6;

}

.phone-frame{

    width:320px;

    margin:auto;

    padding:14px;

    background:#111;

    border-radius:45px;

    border:8px solid #222;

    box-shadow:0 25px 60px rgba(0,0,0,.15);

    position:relative;

}

.phone-frame::before{

    content:"";

    position:absolute;

    width:120px;

    height:22px;

    background:#111;

    top:10px;

    left:50%;

    transform:translateX(-50%);

    border-radius:0 0 15px 15px;

}

.phone-screen{

    width:100%;

    border-radius:32px;

    display:block;

}

.sobre-scroll{

    max-height:650px;

    overflow-y:auto;

    padding-right:20px;

}

/* Scrollbar (Chrome/Edge) */

.sobre-scroll::-webkit-scrollbar{

    width:8px;

}

.sobre-scroll::-webkit-scrollbar-track{

    background:#f3ede8;

    border-radius:10px;

}

.sobre-scroll::-webkit-scrollbar-thumb{

    background:#8B6B5A;

    border-radius:10px;

}

.sobre-scroll::-webkit-scrollbar-thumb:hover{

    background:#6B4F3F;

}

/* Firefox */

.sobre-scroll{

    scrollbar-width:thin;

    scrollbar-color:#8B6B5A #f3ede8;

}

.especialidades-section{
    background:#faf8f6;
}

.especialidade-card{
    background:#fff;
    border-radius:18px;
    padding:28px;
    height:100%;
    display:flex;
    align-items:center;
    gap:18px;
    box-shadow:0 8px 25px rgba(0,0,0,.06);
    transition:.3s;
    border-left:5px solid #8B6B5A;
}

.especialidade-card:hover{
    transform:translateY(-5px);
    box-shadow:0 15px 35px rgba(0,0,0,.10);
}

.especialidade-card i{
    font-size:32px;
    color:#6B4F3F;
    flex-shrink:0;
}

.especialidade-card h5{
    margin:0;
    font-size:1rem;
    line-height:1.6;
    color:#444;
    font-weight:600;
}

/*=========================
    GOOGLE BADGE
==========================*/

.google-badge{

    display:inline-flex;

    align-items:center;

    gap:12px;

    padding:14px 24px;

    background:#fff;

    border:1px solid #e8dfd8;

    border-radius:50px;

    box-shadow:0 8px 25px rgba(0,0,0,.08);

    transition:all .3s ease;

}

.google-badge:hover{

    transform:translateY(-3px);

    box-shadow:0 15px 35px rgba(0,0,0,.12);

}

.google-badge img{

    width:30px;

    height:30px;

}

.google-badge strong{

    font-size:1.15rem;

    color:#6B4F3F;

    font-weight:700;

}

.google-badge span{

    color:#7A7A7A;

    font-size:.95rem;

    font-weight:500;

}

/* Responsivo */

@media (max-width:576px){

    .google-badge{

        padding:12px 18px;

        gap:8px;

        flex-wrap:wrap;

        justify-content:center;

        border-radius:20px;

    }

    .google-badge span{

        width:100%;

        text-align:center;

        font-size:.9rem;

    }

}