:root{
  --brand-navy:#0E2A47; /* Azul-escuro */
  --brand-bordeaux:#7A1D2F; /* Bordô */
  --brand-white:#FFFFFF; /* Branco */
  --brand-light:#F5F8FB; /* Cinza-claro */
}

/**********************
  Estrutura básica
**********************/
body.site-home{
  background: var(--brand-light);
  color: var(--brand-navy);
}
header.site-header{
  background: var(--brand-white);
  border-bottom: 1px solid rgba(14,42,71,0.08);
}
footer.site-footer{
  background: var(--brand-white);
  border-top: 1px solid rgba(14,42,71,0.08);
}

/**********************
  Banner
**********************/
.home-banner{
  background: linear-gradient(135deg, var(--brand-light) 0%, #ffffff 100%);
}
.home-banner h1{
  color: var(--brand-navy);
}
.home-banner .btn-primary{
  background: var(--brand-bordeaux);
  border-color: var(--brand-bordeaux);
}
.home-banner .btn-primary:hover{
  filter: brightness(0.95);
}

/**********************
  Cards de serviços
**********************/
.home-services .card{
  border: none;
  border-radius: 12px;
  background: var(--brand-white);
}
.home-services .card h3{
  color: var(--brand-navy);
}
.home-services .stretched-link{
  color: var(--brand-bordeaux);
}

/* Ajustes para o novo layout tipo cards */
.home-services{ background: #FBFCFE; }
.home-services .card{ border:1px solid rgba(14,42,71,0.06); box-shadow:0 8px 24px rgba(14,42,71,0.06); }
.home-services .learn-more{ text-transform: uppercase; border: 0; padding-bottom: 0; }
.home-services .learn-more:hover{ opacity: .85; }
/* Oculta a barrinha decorativa sob os títulos dos serviços */
.home-services .card h3 + div{ display: none !important; }
/* Força 4 colunas (25%) em telas ≥ 992px mantendo o HTML atual */
@media (min-width: 992px){
  .home-services .col-lg-4{ width: 25%; max-width: 25%; }
}

/**********************
  Seção motivos (por que escolher)
**********************/
.home-reasons i{
  color: var(--brand-bordeaux);
}
.home-reasons h3{
  color: var(--brand-navy);
}

/**********************
  CTAs
**********************/
.home-cta-services{
  background-image: url('../images/textura.webp');
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-color: var(--brand-navy);
  color: var(--brand-white);
}
.home-cta-services h2,
.home-cta-services p{
  color: var(--brand-white);
}
.home-cta-services .btn-cta{
  background: var(--brand-white);
  color: var(--brand-navy);
  border: none;
  padding: 0.75rem 1.25rem;
  border-radius: .5rem;
  box-shadow: 0 2px 6px rgba(0,0,0,.15);
}
.home-cta-services .btn-cta:hover{
  filter: brightness(0.95);
}

/* Evita sobreposição: esconder a base do monitor no CTA em qualquer viewport */
.home-cta-services .monitor-stand{ display: none !important; }

/* LG (992px–1199.98px): vídeo deve caber na coluna sem sobrepor o texto */
@media (min-width: 992px) and (max-width: 1199.98px){
  .home-cta-services .monitor{ width: 100%; }
  .home-cta-services .monitor-bezel{ width: 100%; }
}

/* Ajustes mobile: CTA (vídeo maior) e rodapé com respiro adequado */
@media (max-width: 575.98px){
  /* vídeo maior no mobile */
  .home-cta-services .monitor{ display: block; width: 100%; }
  .home-cta-services .monitor-bezel{ width: 100%; padding: 4px; }
  .home-cta-services .monitor-screen{ border-radius: 10px; }

  /* rodapé: aumentar padding e espaços internos */
  .site-footer .container{ padding-top: 1.25rem; padding-bottom: 1.5rem; }
  .site-footer .contact-card{ padding: 1.25rem !important; }
  .site-footer .contact-card .d-flex{ gap: .75rem !important; }
}

.home-cta-whatsapp{
  background: var(--brand-white);
}
.home-cta-whatsapp p{ color: var(--brand-navy); }
.home-cta-whatsapp .btn-success{
  background: #25D366;
  border-color: #25D366;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
}

/**********************
  Utilitários
**********************/
.section-title{
  position: relative;
}
.section-title::after{
  content: '';
  display: block;
  width: 64px;
  height: 4px;
  background: var(--brand-bordeaux);
  margin: 12px auto 0 auto;
  border-radius: 2px;
}

/* Home - Serviços: seta do acordeão à esquerda */
.home-services .accordion-button::after { display: none; }
.home-services .accordion-button::before { flex-shrink: 0; width: 1.25rem; height: 1.25rem; margin-right: .5rem; content: ""; background-image: var(--bs-accordion-btn-icon); background-repeat: no-repeat; background-size: 1.25rem; transition: transform .2s ease-in-out; }
.home-services .accordion-button:not(.collapsed)::before { transform: rotate(-180deg); background-image: var(--bs-accordion-btn-active-icon); }

/* Seção Por que escolher */
.home-reasons { background: var(--brand-light); }
.home-reasons .section-title { color: var(--brand-bordeaux); }
.home-reasons .reason-card { background:#fff; border:1px solid rgba(14,42,71,0.06); border-radius:12px; padding:28px 18px; box-shadow:0 8px 24px rgba(14,42,71,0.06); }
.home-reasons .reason-icon i { color: var(--brand-bordeaux); font-size:2rem; }
.home-reasons p { color:#50627A; font-size:.95rem; }

/* Seção Quem Somos */
.home-about { background: #fff; }
.home-about .about-header p { max-width: 860px; margin: 0 auto; }
.home-about .about-photo { max-height: 420px; width: auto; }
.home-about .about-values li { margin-bottom: 8px; line-height: 1.6; }
.home-about .about-values .label { color: var(--brand-bordeaux); font-weight: 600; }

/* Seção Por que escolher - ajustes mobile (<768px) */
@media (max-width: 767.98px){
  .home-reasons .row{ --bs-gutter-x: 0; --bs-gutter-y: .5rem; row-gap: .5rem !important; }
  .home-reasons .reason-card{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: .5rem;
    text-align: left !important;
    padding: 8px 4px;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
  .home-reasons .reason-icon{ margin: 0 !important; }
  .home-reasons .reason-icon i{ font-size: 1.25rem; }
  .home-reasons .reason-card p, .home-reasons p{ margin: 0; font-size: .95rem; text-align: left !important; }
  /* Força título e parágrafo introdutório à esquerda no mobile */
  .home-reasons h2.text-center,
  .home-reasons p.text-center{ text-align: left !important; }
}

/* Rodapé - barra de contato estilizada */
.site-footer .contact-card{
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding: 1.5rem 1rem;
  color: var(--brand-bordeaux);
}
.site-footer .contact-card a,
.site-footer .contact-card .small,
.site-footer .contact-card .fw-semibold{ color: var(--brand-bordeaux); line-height: normal;}

@media (min-width: 576px){
  .site-footer .contact-card{ padding: 1.75rem 1.5rem; }
}

@media (min-width: 992px){
  .site-footer .contact-card{ padding: 2rem 2rem; }
}

/* Ajustes responsivos para os itens de contato */
.site-footer .contact-card .row {
  margin-left: 0;
  margin-right: 0;
}

.site-footer .contact-card [class*="col-"] {
  display: flex;
  align-items: center;
  min-width: 0; /* Previne overflow */
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

.site-footer .contact-card .d-flex {
  width: 100%;
  min-width: 0;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

.site-footer .contact-card .fw-semibold {
  word-break: break-word;
  overflow-wrap: break-word;
  hyphens: auto;
}

/* Redução de tamanho dos ícones e fontes */
.site-footer .contact-card .contact-icon {
  width: 48px !important;
  height: 48px !important;
}

.site-footer .contact-card .contact-icon i {
  font-size: 1rem;
}

.site-footer .contact-card .contact-text {
  font-size: 0.875rem; /* Reduzido 1 ponto (de ~1rem para 0.875rem) */
}

.site-footer .contact-card .small {
  font-size: 0.75rem; /* Reduzido proporcionalmente */
}

/* Ajustes para ícones em mobile */
@media (max-width: 575.98px){
  .site-footer .contact-card {
    padding: 1.25rem 0.75rem;
  }
  
  .site-footer .contact-card [class*="col-"] {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    margin-bottom: 1rem;
  }
  
  .site-footer .contact-card [class*="col-"]:last-child {
    margin-bottom: 0;
  }
  
  .site-footer .contact-card .contact-icon {
    width: 42px !important;
    height: 42px !important;
    flex-shrink: 0;
  }
  
  .site-footer .contact-card .contact-icon i {
    font-size: 0.9rem !important;
  }
  
  .site-footer .contact-card .gap-3 {
    gap: 0.75rem !important;
  }
  
  .site-footer .contact-card .small {
    font-size: 0.8rem;
  }
  
  .site-footer .contact-card .fw-semibold {
    font-size: 0.9rem;
    line-height: 1.3;
  }
}

/* Ajustes para tablets */
@media (min-width: 576px) and (max-width: 991.98px){
  .site-footer .contact-card [class*="col-"] {
    margin-bottom: 1rem;
  }
  
  .site-footer .contact-card [class*="col-"]:nth-last-child(-n+2) {
    margin-bottom: 0;
  }
}

.site-footer .footer-logo{ margin-top: 30px; }
.site-footer .footer-logo img{ height:64px; width:auto; }
@media (max-width: 575.98px){ .site-footer .footer-logo img{ height:56px; } }

/* Google Reviews - Home */
.home-reviews .review-card{background:#fff;border:1px solid #e6e8ec;border-radius:12px;box-shadow:0 2px 10px rgba(14,42,71,.06)}
.home-reviews .review-author{display:flex;align-items:center;gap:12px}
.home-reviews .review-author img{width:40px;height:40px;border-radius:50%;object-fit:cover}
.home-reviews .stars{color:#f5b50a}
.home-reviews .stars i.inactive{color:#cbd5e1}
.home-reviews .stars-lg i{font-size:1.25rem}
.home-reviews .review-text{color:#334155}
.home-reviews .reviews-summary{background:#f7f8fb;border:1px solid #e6e8ec;border-radius:16px}
.home-reviews .reviews-slider{overflow:hidden}
.home-reviews .reviews-track{display:flex;gap:24px;transition:transform .4s ease}
.home-reviews .reviews-slide{flex:0 0 100%}
.home-reviews .reviews-nav{position:absolute;top:50%;transform:translateY(-50%);background:transparent;border:none;box-shadow:none;color:#0e2a47;display:flex;align-items:center;justify-content:center;font-size:28px;line-height:1;padding:0}
.home-reviews .reviews-nav.prev{left:-8px}
.home-reviews .reviews-nav.next{right:-8px}
@media (max-width: 991.98px){.home-reviews .reviews-nav.prev{left:4px}.home-reviews .reviews-nav.next{right:4px}}
