*{ margin:0; padding:0; box-sizing:border-box; }

html, body{
  width:100%;
  overflow-x:hidden;
  font-family:'Montserrat', sans-serif;
  background:#f5f5f5;
  color:#111;
}

a{ text-decoration:none; }
img{ display:block; width:100%; height:100%; object-fit:cover; }

.container{
  width:100%;
  max-width:1200px;
  margin:0 auto;
  padding:0 20px;
}

/* FADE UP */
.fade-up{
  opacity:0;
  transform:translateY(32px);
  transition:opacity 0.65s ease, transform 0.65s ease;
  transition-delay: var(--delay, 0s);
}
.fade-up.visible{ opacity:1; transform:translateY(0); }

/* HEADER */
header{
  background:#fff;
  border-bottom:1px solid #ececec;
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  z-index:99999 !important;
  transition:transform 0.35s ease, box-shadow 0.35s ease;
  box-shadow:0 2px 12px rgba(0,0,0,0.06);
}
header.header-hidden{ transform:translateY(-100%); }

.header-content{
  height:90px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.logo{ font-size:22px; font-weight:700; letter-spacing:2px; }
nav ul{ display:flex; list-style:none; gap:40px; }
nav a{ color:#111; font-size:14px; font-weight:500; transition:0.3s; }
nav a:hover{ color:#8d1f1f; }
.btn-whatsapp{
  background:#111; color:#fff;
  padding:12px 24px; border-radius:8px;
  font-size:13px; font-weight:600; transition:0.3s;
}
.btn-whatsapp:hover{ background:#8d1f1f; }

/* HERO */
.hero{
  width:100%; min-height:650px;
  background:url('assets/img/banner.webp') center center/cover no-repeat;
  position:relative; display:flex; align-items:center;
}
.hero::before{
  content:''; position:absolute; inset:0;
  background:rgba(0,0,0,0.62);
}
.hero-content{ position:relative; z-index:2; color:#fff; max-width:580px; }
.hero-content h1{ font-size:48px; line-height:1.15; font-weight:300; margin-bottom:22px; }
hero-content h1 span{ color:#fff; font-weight:700; border-bottom:3px solid #c8a96;padding-bottom : 2px;
.hero-content p{ font-size:17px; line-height:1.8; margin-bottom:35px; color:#e0e0e0; }
.hero-button{
  background:#fff; color:#111;
  padding:16px 36px; border-radius:10px;
  display:inline-block; font-weight:700; font-size:14px;
  letter-spacing:0.5px; transition:0.3s;
}
.hero-button:hover{ background:#c02626; color:#fff; }

/* INFOS */
.infos{ background:#fff; padding:35px 0; border-bottom:1px solid #ececec; }
.infos-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:30px; }
.info-box{ text-align:center; }
.info-box h3{ font-size:16px; font-weight:700; margin-bottom:6px; }
.info-box p{ font-size:13px; color:#777; }

/* SECTIONS */
.section{ padding:70px 0; }
.section-title{ text-align:center; margin-bottom:50px; }
.section-title h2{ font-size:32px; font-weight:300; letter-spacing:4px; margin-bottom:12px; }
.section-title p{ color:#777; font-size:15px; }

/* COLLECTIONS */
.collections{ display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.collection-card{ height:450px; border-radius:18px; overflow:hidden; position:relative; }
.collection-card img{ width:100%; height:100%; object-fit:cover; }
.collection-overlay{
  position:absolute; inset:0; display:flex; align-items:flex-end;
  padding:40px; background:linear-gradient(to top, rgba(0,0,0,.65), transparent);
}
.collection-overlay h3{ color:#fff; font-size:36px; font-weight:300; margin-bottom:8px; }
.collection-sub{ color:rgba(255,255,255,0.8); font-size:13px; margin-bottom:16px; line-height:1.5; }
.collection-overlay a{
  background:#fff; color:#111; padding:12px 24px;
  border-radius:8px; font-size:13px; font-weight:700;
  display:inline-block; transition:0.3s;
}
.collection-overlay a:hover{ background:#c02626; color:#fff; }

/* CTA INLINE */
.cta-inline{ text-align:center; margin-top:50px; }
.cta-inline-btn{
  display:inline-block; background:#c02626; color:#fff;
  padding:18px 44px; border-radius:10px; font-size:15px; font-weight:700;
  letter-spacing:0.4px; transition:0.3s;
  box-shadow:0 4px 18px rgba(192,38,38,0.25);
}
.cta-inline-btn:hover{
  background:#8d1f1f; transform:translateY(-2px);
  box-shadow:0 6px 24px rgba(141,31,31,0.35);
}

/* DEPOIMENTOS */
.depoimentos-section{ background:#fff; }
.google-rating{
  display:inline-flex; align-items:center; gap:10px;
  background:#f8f5f2; border-radius:50px; padding:8px 20px; margin-top:16px;
}
.google-stars{ color:#f4b400; font-size:18px; letter-spacing:2px; }
.google-label{ font-size:13px; font-weight:600; color:#333; }
.google-count{
  display:block; margin-top:10px;
  font-size:11px; font-weight:700; letter-spacing:2px;
  color:#999; text-transform:uppercase;
}

/* FIX: slider precisa de border-radius + overflow:hidden para cortar os cantos */
.testimonials-slider{
  overflow:hidden;
  position:relative;
  width:100%;
  border-radius:16px; /* corta os cantos arredondados do card */
}
.testimonials-track{
  display:flex;
  transition:transform 0.55s cubic-bezier(0.4,0,0.2,1);
  will-change:transform;
}
.testimonial{
  flex-shrink:0;
  background:#fff; border-radius:16px; padding:40px 44px;
  box-shadow:0 4px 24px rgba(0,0,0,0.07); border:1px solid #ececec;
  box-sizing:border-box;
}
.test-stars{ color:#f4b400; font-size:20px; margin-bottom:14px; letter-spacing:3px; }
.testimonial h4{ font-size:16px; font-weight:700; margin-bottom:12px; color:#111; }
.testimonial p{ color:#555; line-height:1.8; font-size:15px; }

.slider-dots{ display:flex; justify-content:center; gap:8px; margin-top:32px; }
.slider-dot{
  width:10px; height:10px; border-radius:50%;
  background:#ddd; border:none; cursor:pointer; transition:all 0.3s; padding:0;
}
.slider-dot.active{ background:#c02626; width:28px; border-radius:5px; }

/* FAQ */
.faq-section{ background:#f8f5f2; }
.faq-list{ max-width:780px; margin:0 auto; display:flex; flex-direction:column; gap:12px; }
.faq-item{
  background:#fff; border-radius:12px; border:1px solid #ececec;
  overflow:hidden; transition:box-shadow 0.3s;
}
.faq-item.open{ box-shadow:0 4px 20px rgba(0,0,0,0.08); }
.faq-question{
  width:100%; background:none; border:none;
  padding:22px 28px; display:flex; align-items:center;
  justify-content:space-between; gap:16px;
  font-family:'Montserrat', sans-serif; font-size:15px;
  font-weight:600; color:#111; cursor:pointer; text-align:left; transition:color 0.3s;
}
.faq-question:hover{ color:#c02626; }
.faq-item.open .faq-question{ color:#c02626; }
.faq-icon{ font-size:22px; font-weight:300; color:#c02626; flex-shrink:0; line-height:1; }
.faq-answer{
  max-height:0; opacity:0; overflow:hidden;
  transition:max-height 0.4s ease, opacity 0.4s ease;
  padding:0 28px;
}
.faq-answer p{ padding-bottom:22px; font-size:14px; color:#555; line-height:1.8; }

/* FAQ WPP BUTTON */
.faq-wpp-cta{ text-align:center; margin-top:40px; }
.faq-wpp-btn{
  display:inline-block; background:#25D366; color:#fff;
  padding:16px 40px; border-radius:10px; font-size:15px; font-weight:700;
  letter-spacing:0.4px; transition:0.3s;
  box-shadow:0 4px 18px rgba(37,211,102,0.28);
}
.faq-wpp-btn:hover{
  background:#1da851; transform:translateY(-2px);
  box-shadow:0 6px 24px rgba(37,211,102,0.38);
}

/* CTA EXAME */
.cta{ background:#fff; padding:90px 0; border-top:1px solid #ececec; border-bottom:1px solid #ececec; }
.cta-content{ max-width:620px; }
.cta-eyebrow{ font-size:12px; font-weight:700; letter-spacing:3px; color:#c02626; margin-bottom:16px; display:block; }
.cta-content h2{ font-size:42px; font-weight:300; line-height:1.2; margin-bottom:20px; color:#111; }
.cta-destaque{ color:#8d1f1f; font-weight:700; font-style:italic; }
.cta-sub{ font-size:16px; color:#666; line-height:1.8; margin-bottom:35px; }
.cta-btn{
  background:#111; color:#fff; padding:16px 36px; border-radius:10px;
  display:inline-block; font-weight:700; font-size:14px; letter-spacing:0.5px; transition:0.3s;
}
.cta-btn:hover{ background:#8d1f1f; }

/* LOCALIZAÇÃO */
.localizacao-section{ background:#f8f5f2; }
.localizacao-grid{ display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:start; }
.mapa-wrapper{ border-radius:16px; overflow:hidden; box-shadow:0 4px 24px rgba(0,0,0,0.1); }
.localizacao-info h3{ font-size:22px; font-weight:700; margin-bottom:24px; }
.localizacao-info p{ font-size:14px; color:#555; line-height:1.9; margin-bottom:20px; }
.localizacao-info p strong{ color:#111; display:block; margin-bottom:4px; font-size:12px; letter-spacing:1px; text-transform:uppercase; }
.btn-maps{
  display:inline-block; margin-top:8px; background:#111; color:#fff;
  padding:14px 28px; border-radius:10px; font-size:14px; font-weight:700; transition:0.3s;
}
.btn-maps:hover{ background:#c02626; }

/* FOOTER */
footer{ background:#0f0f0f; color:#fff; padding:80px 0 30px; }
.footer-grid{ display:grid; grid-template-columns:2fr 1fr 1fr; gap:50px; margin-bottom:50px; }
.footer-column h3{ margin-bottom:20px; font-size:16px; }
.footer-column p, .footer-column a{ color:#aaa; line-height:2.2; font-size:14px; display:block; }
.footer-column a:hover{ color:#fff; }
.footer-bottom{ border-top:1px solid #222; padding-top:25px; text-align:center; color:#777; font-size:13px; }

/* WP FIX */
html body.admin-bar{ margin-top:0 !important; padding-top:0 !important; }
#wpadminbar{ display:none !important; }

/* MOBILE */
@media (max-width:991px){
  nav{ display:none; }
  .header-content{ height:70px; justify-content:space-between; gap:10px; }
  .logo{ font-size:14px; letter-spacing:1px; max-width:190px; line-height:1.2; }
  .btn-whatsapp{ padding:10px 12px; font-size:10px; white-space:nowrap; }

  .hero{ min-height:auto; padding:80px 0; }
  .hero-content{ width:100%; max-width:100%; }
  .hero-content h1{ font-size:30px; line-height:1.2; }
  .hero-content p{ font-size:15px; }
  .hero-button{ display:block; width:100%; text-align:center; }

  .infos-grid{ grid-template-columns:1fr 1fr; gap:20px; }

  .collections{ grid-template-columns:1fr; gap:20px; }
  .collection-card{ height:280px; }
  .collection-overlay h3{ font-size:28px; }
  .cta-inline-btn{ display:block; width:100%; text-align:center; }

  .testimonial{ padding:28px 24px; }
  .testimonial p{ font-size:14px; }

  .faq-question{ font-size:14px; padding:18px 20px; }
  .faq-answer{ padding:0 20px; }
  .faq-wpp-btn{ display:block; width:100%; text-align:center; }

  .cta{ padding:60px 0; }
  .cta-content h2{ font-size:28px; }
  .cta-btn{ display:block; width:100%; text-align:center; }

  .localizacao-grid{ grid-template-columns:1fr; gap:30px; }
  .footer-grid{ grid-template-columns:1fr; gap:30px; }
}

