/* ══════════════════════════════════════════════════
   G1 Serviços – Homepage-specific Styles
   (Complementa g1.css; carregado apenas na index)
   ══════════════════════════════════════════════════ */

/* ── HERO SPLIT (container grid override for homepage) ── */
.hero .container { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.hero-services-list li svg { flex-shrink: 0; }

/* ── NUMBERS (container grid override for homepage) ── */
.numbers .container { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: #333; border-radius: 12px; overflow: hidden; }

/* ── WHY (container grid override for homepage) ── */
.why .container { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }

/* ── TESTIMONIALS (homepage uses testimonial-card naming) ── */
.testimonials-grid { margin-top: 60px; }
.testimonial-card {
  border: 1px solid var(--border); border-radius: 12px; padding: 32px 28px;
  position: relative; transition: box-shadow .3s; background: var(--white);
}
.testimonial-card:hover { box-shadow: var(--shadow); }
.testimonial-card.featured { grid-column: span 2; background: var(--green); color: var(--white); border-color: var(--green); }
.testimonial-card.featured .stars { color: #a8f5c0; }
.testimonial-text { font-size: 15px; line-height: 1.8; color: var(--black-soft); margin-bottom: 20px; font-style: italic; }
.testimonial-card.featured .testimonial-text { color: rgba(255,255,255,.9); }
.testimonial-author { display: flex; align-items: center; gap: 12px; }
.author-avatar {
  width: 44px; height: 44px; border-radius: 50%; background: var(--green);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display); font-size: 17px; font-weight: 900; color: var(--white);
  flex-shrink: 0;
}
.testimonial-card.featured .author-avatar { background: rgba(255,255,255,.2); }
.author-name { font-weight: 700; font-size: 15px; }
.author-role { font-size: 13px; color: var(--gray); }
.testimonial-card.featured .author-role { color: rgba(255,255,255,.7); }
.quote-icon { position: absolute; top: 20px; right: 24px; font-family: var(--font-display); font-size: 60px; color: rgba(26,127,60,.08); line-height: 1; font-weight: 900; }
.testimonial-card.featured .quote-icon { color: rgba(255,255,255,.1); }

/* ── ORCAMENTO FORM SECTION (homepage naming) ── */
.orcamento { background: var(--gray-light); padding: 96px 0; }
.orcamento .container { display: grid; grid-template-columns: 1fr 1.4fr; gap: 64px; align-items: start; }
.orcamento-form { background: var(--white); border-radius: 16px; padding: 44px 40px; box-shadow: var(--shadow); }

/* ── WHATSAPP BUBBLE (homepage only) ── */
.wpp-float {
  display: flex; flex-direction: column; align-items: flex-end; gap: 12px;
}
.wpp-bubble {
  background: var(--white); border-radius: 12px; padding: 12px 16px;
  box-shadow: var(--shadow-lg); display: flex; align-items: center; gap: 10px;
  font-size: 13px; font-weight: 600; color: var(--black);
  animation: fadeInRight .6s ease .5s both; max-width: 220px;
}
.wpp-bubble::after {
  content: ''; position: absolute; right: 26px; bottom: 80px;
  border-top: 8px solid var(--white); border-left: 8px solid transparent; border-right: 8px solid transparent;
}
.wpp-btn {
  width: 62px; height: 62px; background: #25d366; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 20px rgba(37,211,102,.5); transition: all .25s;
  animation: pulse 2s infinite;
}
.wpp-btn:hover { transform: scale(1.1); box-shadow: 0 6px 28px rgba(37,211,102,.6); }
.wpp-btn svg { width: 30px; height: 30px; fill: var(--white); }

/* ── HERO ANIMATION CLASSES (homepage intro) ── */
.animate-up { animation: fadeInUp .7s ease both; }
.delay-1 { animation-delay: .1s; }
.delay-2 { animation-delay: .22s; }
.delay-3 { animation-delay: .34s; }

/* ── HOMEPAGE RESPONSIVE ── */
@media (max-width: 1024px) {
  .hero .container { gap: 40px; }
}

@media (max-width: 768px) {
  .hero .container { grid-template-columns: 1fr; gap: 32px; text-align: center; }
  .hero-card { display: none; }
  .hero-content { padding: 0; }

  .numbers .container { grid-template-columns: repeat(2, 1fr); }
  .number-item { padding: 24px 16px; }

  .why .container { grid-template-columns: 1fr; gap: 32px; }

  .testimonials-grid { grid-template-columns: 1fr; }
  .testimonial-card { padding: 24px 20px; }
  .testimonial-card.featured { grid-column: span 1; }
  .testimonial-text { font-size: 14px; }

  .orcamento .container { grid-template-columns: 1fr; gap: 32px; }
  .orcamento-form { padding: 24px 18px; }
  .orcamento-form .form-group input,
  .orcamento-form .form-group select,
  .orcamento-form .form-group textarea { font-size: 16px; }
}

@media (max-width: 375px) {
  .testimonial-card { padding: 20px 16px; }
  .number-item { padding: 20px 12px; }
}
