:root{
  --pastel:#FAF7F2;
  --gold:#B79955;
  --black:#000000;
  --gray:#4b4a49;
  --muted:#9c978f;
}
html{scroll-behavior:smooth}
body{background:var(--pastel); color:var(--black); font-family:'Poppins',system-ui,Segoe UI,Roboto,Arial,sans-serif;}
a{text-decoration:none}
img{max-width:100%; height:auto;}

/* Blindagem geral contra overflow horizontal */
html, body { max-width: 100%; overflow-x: hidden; }
img, svg { max-width: 100%; height: auto; }

/* Cantoneira do hero: não deixa sair da viewport */
.hero-corner{
  right: 0;           /* antes era -14px */
  bottom: 0;
  transform: translate(12px, 12px); /* mantém o aspecto visual sem criar overflow */
}
@media (max-width: 991.98px){
  .hero-corner{ display:none; } /* no mobile ela não faz falta e evita qualquer vazamento */
}

/* (extra) se algum outro absoluto “vazar”, garanta que o header não gere scroll */
#inicio .container, #inicio .row { overflow-x: hidden; }

/* NAVBAR */
.navbar-custom{position:sticky; top:0; z-index:1030; background:var(--black); transition:box-shadow .2s ease, padding .2s ease; padding:.9rem 0;}
.navbar-custom.scrolled{box-shadow:0 10px 30px rgba(0,0,0,.35); padding:.6rem 0;}
.navbar-brand img{height:120px}
.nav-link{color:#fff!important; opacity:.9;}
.nav-link:hover{opacity:1}


/* Em mobile (≤ 576px): reduz para 90px */
@media (max-width: 575.98px){
  .navbar-brand img{ height:90px; }
}

.btn-gold{
  /* mantém compat com Bootstrap */
  --bs-btn-color: #101010;
  --bs-btn-bg: transparent;               /* vamos usar background normal abaixo */
  --bs-btn-border-color: transparent;

  background: linear-gradient(135deg, #cdb277 0%, #B79955 60%, #a18445 100%);
  color: var(--bs-btn-color);
  border: none;
  border-radius: 12px;
  padding: .6rem 1rem;
  font-weight: 700;
  box-shadow: 0 6px 18px rgba(0,0,0,.12);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.btn-gold:hover{
  background: linear-gradient(90deg, #b8860b, #d4af37);
  filter: brightness(1.02);
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(0,0,0,.18);
}

.btn-gold:active{
  transform: translateY(0);
  box-shadow: 0 6px 16px rgba(0,0,0,.16);
}

.btn-gold:focus-visible{
  outline: 0;
  box-shadow:
    0 0 0 3px rgba(255,255,255,.75),
    0 0 0 6px rgba(183,153,85,.55);        /* anel de foco AA */
}

.btn-outline-dark:hover {
  color: #101010;
  background: linear-gradient(135deg, #cdb277 0%, #B79955 60%, #a18445 100%);
  border-color: #B79955;
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(0,0,0,.14);
}

.btn-outline-dark:focus-visible {
  outline: 0;
  box-shadow:
    0 0 0 3px rgba(255,255,255,.75),
    0 0 0 6px rgba(183,153,85,.55);
}

/* SECTIONS */
.section{padding:84px 0;}
.section-title{font-weight:800; margin-bottom:.5rem; letter-spacing:-.3px;}
.section-sub{color:var(--gray);}

/* HERO */
#inicio{background:var(--pastel);}
.hero-img{border-radius:22px; box-shadow:0 25px 60px rgba(0,0,0,.08)}
.badge-pill {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: linear-gradient(135deg, #cdb277 0%, #B79955 60%, #a18445 100%);
  color: #000;
  padding: .5rem .8rem;
  border-radius: 999px;
  font-size: .9rem;
  border: none;
  font-weight: 600;
  transition: transform 0.2s ease-in-out, background 0.3s ease;
}

.badge-pill:hover {
  background: linear-gradient(90deg, #b8860b, #d4af37);
  transform: scale(1.05);
}

/* Hero slider mantendo o mesmo visual da imagem única */
.hero-slide{
  border-radius:22px;
  object-fit:cover;
  height:auto;
  box-shadow:0 25px 60px rgba(0,0,0,.08);
}
.hero-carousel .carousel,
.hero-carousel .carousel-inner,
.hero-carousel .carousel-item { border-radius:22px; }
.hero-carousel .carousel-item { overflow:hidden; }

/* Cantoneira decorativa (igual ao print) */
.hero-corner{
  position:absolute; right:-14px; bottom:-14px;
  width:86px; height:86px; border-radius:18px;
  border:10px solid rgba(255,255,255,.92);
  border-top-color:transparent; border-left-color:transparent;
}

/* Indicadores mais discretos para combinar com a paleta */
.hero-carousel .carousel-indicators [data-bs-target]{
  background-color:#fff; opacity:.6; width:8px; height:8px; border-radius:50%;
}
.hero-carousel .carousel-indicators .active{ opacity:1; }

/* Controles com contraste ok no pastel */
.hero-carousel .carousel-control-prev-icon,
.hero-carousel .carousel-control-next-icon{
  filter: drop-shadow(0 2px 6px rgba(0,0,0,.25));
}

.hero-carousel{ overflow: hidden; }

/* SOBRE */
.value-card{background:#fff; border:1px solid rgba(183,153,85,.25); border-radius:16px; padding:1.25rem; box-shadow:0 10px 26px rgba(0,0,0,.05)}
.box-note{background:#fff; border-left:4px solid var(--gold); border-radius:12px; padding:1rem 1.25rem;}

/* Bloco título pequeno acima do h2 */
.section-label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.section-label .line {
  flex: 0 0 32px;
  height: 2px;
  background: var(--gold);
}

.section-label .label-text {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--gold);
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* Mobile: ícone um pouco menor e tipografia ajustada */
@media (max-width: 575.98px){
  #sobre .value-card .icon-round{
    width: 38px !important;
    height: 38px !important;
    font-size: 16px !important;
  }
  #sobre .value-card strong{
    font-size: 1.05rem;
  }
  #sobre .value-card .text-muted{
    font-size: .96rem;
    line-height: 1.35;
  }
}

/* SERVIÇOS */
.card-lite{background:#fff; border:1px solid rgba(183,153,85,.35); border-radius:16px; box-shadow:0 10px 26px rgba(0,0,0,.05)}
.services-cta{background:#fff; border-radius:18px; box-shadow:0 20px 60px rgba(0,0,0,.08); padding:2rem; border:1px solid rgba(0,0,0,.06);}

/* Kicker com linhas douradas */
.section-kicker{
  display:inline-flex; align-items:center; gap:.75rem;
  text-transform:uppercase; font-weight:600; letter-spacing:.08em;
  color:var(--gold);
}
.section-kicker .line{
  width:48px; height:2px; background:var(--gold); opacity:.85; display:inline-block;
}
@media (max-width:575.98px){
  .section-kicker .line{ width:32px; }
}

/* Ícone circular dourado dos cards */
.service-icon{
  width:56px; height:56px; border-radius:50%;
  background: radial-gradient(120% 120% at 30% 20%, #cdb277 0%, #B79955 60%, #a18445 100%);
  color:#fff; display:inline-flex; align-items:center; justify-content:center;
  font-size:1.25rem; margin-bottom:.75rem; box-shadow:0 6px 18px rgba(0,0,0,.08);
}
.card-lite:hover .service-icon{ transform: translateY(-1px); }
.card-lite .service-icon i{ filter: drop-shadow(0 1px 0 rgba(0,0,0,.12)); }

/* Mais respiro lateral na seção de serviços */
#servicos .container{ padding-left:24px; padding-right:24px; }
@media (min-width:1400px){
  #servicos .container{ max-width:1200px; } /* mantém a grade mais central */
}
/* Um pouco mais de espaço entre colunas */
#servicos .row{ --bs-gutter-x: 1.75rem; }


/* ESTRUTURA */
/* Ícone circular dourado (mais clean) */
.icon-round{
  width:72px; height:72px; border-radius:50%;
  background: radial-gradient(120% 120% at 30% 20%, #cdb277 0%, #B79955 60%, #a18445 100%);
  display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:28px; margin:0 auto 14px;
  box-shadow: 0 8px 22px rgba(0,0,0,.08);
}

/* Lista enxuta com separador sutil */
.feature-list{ list-style:none; padding-left:0; margin:0; }
.feature-list li{
  padding:.6rem 0;
  border-top:1px solid rgba(0,0,0,.06);
}
.feature-list li:first-child{ border-top:0; }

/* Faixa de métricas */
.stats-band{
  background:#fff; border-radius:18px;
  box-shadow:0 25px 80px rgba(0,0,0,.08);
  padding:2.2rem; border:1px solid rgba(0,0,0,.06);
}

/* (opcional) deixar a seção levemente mais estreita em telas muito largas */
#estrutura .container{ max-width:1200px; }

/* HISTÓRIA */
.story-wrap{
  background:#fff; border-radius:20px;
  box-shadow:0 16px 60px rgba(0,0,0,.08);
  border:1px solid rgba(0,0,0,.06);
}
.story-photo{ border-radius:20px; object-fit:cover; width:100%; height:auto; }

/* mais afastamento entre o título e o texto */
#raianny .section-title{ margin-bottom: .75rem; }
#raianny .section-title + .section-sub{ margin-top: .25rem; margin-bottom: 1.25rem; }

/* Depoimentos */
/* Base do card */
.testi-card{
  background:#fdfcf9;; border-radius:16px;
  border:1px solid rgba(0,0,0,.06);
  box-shadow:0 12px 40px rgba(0,0,0,.06);
  overflow:hidden; padding:14px;
}
.testi-photo{
  width:100%; height:auto;
  aspect-ratio:9/16;               /* formato celular */
  object-fit:contain;               /* sem cortar nem dar zoom */
  background:#fdfcf9;;
  display:block;
  border-radius:12px;
}

/* === carrossel multi-item === */
.mi-carousel{ position:relative; padding-bottom:36px; }
.mi-viewport{ overflow:hidden; }
.mi-track{
  display:flex; gap:16px;
  will-change: transform;
  transition: transform .45s ease;
}
.mi-item{
  flex:0 0 calc((100% - 32px)/3);  /* 3 por vez (2 gaps de 16px) */
}

/* tablets: 2 por vez */
@media (max-width: 991.98px){
  .mi-item{ flex:0 0 calc((100% - 16px)/2); }
}

/* mobile: 1 por vez */
@media (max-width: 575.98px){
  .mi-item{ flex:0 0 100%; }
}

/* === setas (reaproveitando seu estilo) === */
#depoimentos .carousel-control-prev,
#depoimentos .carousel-control-next{
  position:absolute;
  top:50%; transform:translateY(-50%);
  width:5%; height:auto;
  z-index:10;
}
#depoimentos .carousel-control-prev{ left:0; }
#depoimentos .carousel-control-next{ right:0; }

#depoimentos .carousel-control-prev-icon,
#depoimentos .carousel-control-next-icon{
  background-size:30px 30px;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,.25))
          invert(75%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(90%) contrast(85%);
}

/* CONTATO (escuro) */
#contato{background: #0E0E0E; color:#fff; position:relative;}
.divider-v{width:1px; background:rgba(255,255,255,.08); min-height:100%;}
.contact-info .item{display:flex; align-items:center; gap:12px; margin-bottom:1rem;}
.contact-info .icon{width:40px; height:40px; border-radius:50%; background:linear-gradient(135deg,#cbae6b,var(--gold)); display:flex; align-items:center; justify-content:center; color:#000;}
.form-wrap{background:#fff; color:#000; border-radius:16px; box-shadow:0 20px 60px rgba(0,0,0,.4); padding:1.5rem;}

/* FOOTER (preto) */
footer{background:var(--black); color:#fff;}
.footer-top{padding:48px 0;}
.footer-links a{color:#fff; opacity:.9;}
.footer-links a:hover{opacity:1;}
.social-right{display:flex; gap:.5rem; justify-content:flex-end;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08); padding:14px 0; font-size:.9rem; color:rgba(255,255,255,.85)}

section{scroll-margin-top:90px;}
@media (max-width: 991.98px){ section{scroll-margin-top:78px;} }

/* WhatsApp Floating Action Button */
.wa-fab{
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 1050;
  width: 58px;
  height: 58px;
  border: 0;
  border-radius: 50%;
  color: #fff;
  background: radial-gradient(120% 120% at 30% 20%, #cdb277 0%, #B79955 60%, #a18445 100%);
  box-shadow: 0 14px 34px rgba(0,0,0,.25);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}
.wa-fab i{ font-size: 1.5rem; line-height: 1; }
.wa-fab:hover{ transform: translateY(-2px); box-shadow: 0 18px 40px rgba(0,0,0,.32); }
.wa-fab:active{ transform: translateY(0); box-shadow: 0 10px 28px rgba(0,0,0,.28); }
@media (max-width: 575.98px){
  .wa-fab{ right: 12px; bottom: 12px; width: 54px; height: 54px; }
}