:root{
  --c1:#F24C27; /* principal */
  --c2:#D55023;
  --c3:#D94E41;
  --c4:#F2A099;
  --c5:#F2F2F2; /* fundo */
  --c6:#353535; /* texto escuro */

  /* auxiliares */
  --shadow-1: 0 8px 24px rgba(0,0,0,.06);
  --shadow-1h: 0 12px 28px rgba(0,0,0,.08);
  --shadow-cta: 0 10px 30px rgba(0,0,0,.15);
}

body{
  background: var(--c5);
  color: var(--c6);
}

/* ===== Hero com gradiente discreto ===== */
.hero-gradient{
  background: linear-gradient(135deg, rgba(242,76,39,.12), rgba(217,78,65,.12));
  border: 1px solid rgba(53,53,53,.05);
  border-radius: 1.5rem;
}

/* ===== Cards suaves ===== */
.card{
  border: none;
  border-radius: 1rem;
  box-shadow: var(--shadow-1);
  transition: transform .2s ease, box-shadow .2s ease;
}
.card:hover{
  transform: translateY(-2px);
  box-shadow: var(--shadow-1h);
}

/* ===== Botões na paleta ===== */
.btn-primary{
  --bs-btn-bg: var(--c1);
  --bs-btn-border-color: var(--c1);
  --bs-btn-hover-bg: var(--c2);
  --bs-btn-hover-border-color: var(--c2);
  --bs-btn-active-bg: var(--c3);
  --bs-btn-active-border-color: var(--c3);
}
.btn-outline-dark:hover{ color:#fff !important; }

/* ===== Navbar (sem azul Bootstrap) ===== */
.navbar{
  background:#fff;
  border-bottom:1px solid rgba(53,53,53,.06);
}
.navbar .navbar-toggler{ border-color:rgba(53,53,53,.2); }
.navbar .navbar-toggler:focus{ box-shadow:0 0 0 .2rem rgba(242,76,39,.25); }

/* Se estiver usando .nav-pills no nav, troca variáveis padrão */
.nav-pills{
  --bs-nav-link-color: var(--c6);
  --bs-nav-link-hover-color: var(--c1);
  --bs-nav-pills-link-active-bg: rgba(242,76,39,.14);
  --bs-nav-pills-link-active-color: var(--c1);
}

/* Links padrão do navbar (modo “pill” suave) */
.navbar .nav-link{
  color: var(--c6);
  padding:.5rem .9rem;
  border-radius:999px;
  transition: color .2s ease, background .2s ease, box-shadow .2s ease;
}
.navbar .nav-link:hover{
  color:var(--c1);
  background:rgba(242,76,39,.08);
}
.navbar .nav-link.active{
  color:var(--c1) !important;
  background:rgba(242,76,39,.14) !important;
  box-shadow:0 6px 18px rgba(242,76,39,.12);
  font-weight:700;
}

/* ===== Estilo alternativo: underline animado (ative com .nav-underline) ===== */
.navbar.nav-underline .nav-link,
.navbar .navbar-nav.nav-underline .nav-link{
  position:relative;
  color:var(--c6);
  padding:.5rem .9rem .65rem;
  border-radius:0;
  background:transparent !important;
  transition:color .2s ease;
}
.navbar.nav-underline .nav-link::after,
.navbar .navbar-nav.nav-underline .nav-link::after{
  content:"";
  position:absolute;
  left:.9rem; right:.9rem; bottom:.25rem;
  height:2px; border-radius:2px;
  background:linear-gradient(90deg, var(--c1), var(--c3));
  transform:scaleX(0); transform-origin:left;
  transition:transform .25s ease; opacity:.95;
}
.navbar.nav-underline .nav-link:hover,
.navbar .navbar-nav.nav-underline .nav-link:hover{ color:var(--c1); }
.navbar.nav-underline .nav-link:hover::after,
.navbar .navbar-nav.nav-underline .nav-link:hover::after{ transform:scaleX(1); }
.navbar.nav-underline .nav-link.active,
.navbar .navbar-nav.nav-underline .nav-link.active{
  color:var(--c1) !important; font-weight:700;
}
.navbar.nav-underline .nav-link.active::after,
.navbar .navbar-nav.nav-underline .nav-link.active::after{ transform:scaleX(1); }
.navbar.nav-underline .nav-link:focus-visible,
.navbar .navbar-nav.nav-underline .nav-link:focus-visible{
  outline:none; box-shadow:0 0 0 .25rem rgba(242,76,39,.18); border-radius:.35rem;
}
@media (max-width:576px){
  .navbar.nav-underline .nav-link::after,
  .navbar .navbar-nav.nav-underline .nav-link::after{ left:.6rem; right:.6rem; }
}

/* ===== Chips de serviço ===== */
.badge-service{
  background: rgba(242,76,39,.1);
  color: var(--c1);
  border: 1px solid rgba(242,76,39,.25);
}

/* ===== Campos formulário ===== */
.form-control:focus, .form-select:focus{
  border-color: var(--c1);
  box-shadow: 0 0 0 .25rem rgba(242,76,39,.15);
}

/* ===== Utils ===== */
.text-brand{ color: var(--c1) !important; }
.bg-brand{ background: var(--c1) !important; color:#fff; }
.text-orange{ color: var(--c1) !important; } /* p/ ícones dos bullets */

/* ===== Depoimentos ===== */
.section-depoimentos .badge.bg-gradient-orange-soft{
  background: linear-gradient(90deg, var(--c4), var(--c5));
  color:#7a7a7a;
}
.depo-card .avatar{ width:44px; height:44px; }
.depo-card .stars .bi-star-fill{ color:#f4b400; }

/* ===== Footer ===== */
.site-footer{
  background: #fff;
  border-top: 1px solid rgba(53,53,53,.08);
  position: relative;
}

/* faixa CTA (topo do footer) */
.footer-cta{
  background: linear-gradient(90deg, rgba(242,76,39,.08), rgba(217,78,65,.08));
  border-bottom: 1px solid rgba(53,53,53,.06);
  padding: 1.25rem 0;
}
.footer-cta .cta-dot{
  width: 12px; height: 12px;
  border-radius: 50%;
  background: var(--c1);
  box-shadow: 0 0 0 .35rem rgba(242,76,39,.15);
}

/* links do footer */
.footer-links li + li { margin-top: .4rem; }
.footer-links a{
  color: var(--c6);
  text-decoration: none;
}
.footer-links a:hover{ color: var(--c1); }

/* contato */
.footer-contact li{
  display: flex; align-items: center; gap:.5rem;
  margin-bottom: .4rem;
}
.footer-contact a{ color: var(--c6); text-decoration: none; }
.footer-contact a:hover{ color: var(--c1); }

/* ícones sociais */
.footer-social{
  display: inline-flex; align-items: center; justify-content: center;
  width: 38px; height: 38px; border-radius: 50%;
  border: 1px solid rgba(53,53,53,.12);
  color: var(--c6);
  transition: all .2s ease;
}
.footer-social:hover{
  transform: translateY(-2px);
  border-color: rgba(242,76,39,.45);
  color: var(--c1);
  box-shadow: 0 6px 18px rgba(242,76,39,.15);
}

/* barra inferior */
.footer-bottom{
  border-top: 1px solid rgba(53,53,53,.08);
  background: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.015));
}
.footer-legal a:hover{ color: var(--c1) !important; }

/* back to top */
.back-to-top{
  position: fixed; right: 18px; bottom: 18px;
  width: 42px; height: 42px; border-radius: 999px;
  border: none; color: #fff; background: var(--c1);
  box-shadow: 0 8px 20px rgba(242,76,39,.35);
  opacity: 0; visibility: hidden; transform: translateY(10px);
  transition: all .2s ease;
  font-weight: 700; z-index: 1030;
}
.back-to-top:hover{ background: var(--c2); }
.back-to-top.show{ opacity: 1; visibility: visible; transform: translateY(0); }

/* ===== CTA fixa inteligente (inclusa no footer) ===== */
.cta-bar{
  position: fixed; left: 0; right: 0; bottom: -110px; z-index: 1030;
  background: linear-gradient(90deg, var(--c1), var(--c3));
  color:#fff; padding:.75rem 0;
  transition: bottom .35s ease;
}
.cta-bar .btn{ border-radius: 999px; }
.cta-bar.show{ bottom: 0; }

/* Botão flutuante de orçamento (apenas /portfolio) */
.btn-float-quote{
  position: fixed; right: 1rem; bottom: 1rem; z-index: 1030;
  background: var(--c1); color:#fff; border-radius: 999px;
  padding:.75rem 1rem; display:flex; align-items:center; gap:.5rem;
  box-shadow: var(--shadow-cta); transform: translateY(140%);
  transition: transform .35s ease, box-shadow .2s ease, background .2s ease;
  text-decoration: none;
}
.btn-float-quote:hover{ box-shadow: 0 12px 34px rgba(0,0,0,.2); color:#fff; background: var(--c2); }
.btn-float-quote.show{ transform: translateY(0); }

/* ===== Acessibilidade / redução de movimento ===== */
@media (prefers-reduced-motion: reduce){
  *{ transition: none !important; animation: none !important; }
}

/* ===== Depoimentos com Swiper ===== */
.section-depoimentos{
  background:#f6f8fb;
  border:1px solid rgba(53,53,53,.04);
  border-radius:1.25rem;
}
.google-pill{
  display:inline-flex; align-items:center; gap:.35rem;
  padding:.5rem .75rem; border-radius:999px;
  background:#fff; border:1px solid rgba(53,53,53,.06);
}
.google-pill strong{ font-size:1.05rem; }
.google-pill .pill-muted{ color:#6b7280; font-size:.9rem; }
.google-pill .gmark{ display:inline-flex; align-items:center; justify-content:center; }

.depo-card{ background:#fff; border:1px solid rgba(53,53,53,.06); border-radius:1rem; }
.depo-card .card-body{ padding:1.25rem 1.25rem 1.1rem; }
.depo-card p{ color:#0f172a; line-height:1.55; }
.depo-card .avatar{ width:44px; height:44px; object-fit:cover; }
.depo-card .stars .bi-star-fill,
.depo-card .stars .bi-star-half{ color:#f4b400; }

/* Dots (pagination) no padrão da paleta */
#depoSwiper .swiper-pagination-bullet{
  width:8px; height:8px; background:rgba(242,76,39,.25); opacity:1;
  transition:transform .2s ease, background .2s ease;
}
#depoSwiper .swiper-pagination-bullet-active{
  background:var(--c1); transform:scale(1.25);
}
