/* ============ Base */
:root{
  --hf-primary:#1d5cff;
  --hf-success:#1db954;
  --hf-success-dark:#179447;
  --hf-text:#0f172a;
  --hf-muted:#6b7280;
  --hf-border:#e5e7eb;
  --hf-bg:#ffffff;
  --hf-bg-alt:#f7f9fc;
  --hf-focus:#1d4ed8;
}
*{box-sizing:border-box}
html,body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,sans-serif;color:var(--hf-text);background:#fff}

/* ============ Containers */
.hf-container{max-width:1120px;margin:0 auto;padding:0 20px}

/* ============ Nav */
.hf-nav{position:sticky;top:0;z-index:999;background:#fff;border-bottom:1px solid #eef2ff}
.hf-nav-inner{display:flex;align-items:center;justify-content:space-between;height:64px}
.hf-brand{display:flex;align-items:center;text-decoration:none;color:var(--hf-text);font-weight:800;letter-spacing:-.2px}
.hf-brand span{margin-left:8px}
.hf-menu{display:flex;gap:18px}
.hf-menu a{text-decoration:none;color:var(--hf-text)}
.d-none-mobile{display:none}
@media(min-width:768px){.d-none-mobile{display:inline-flex}}

/* ============ Buttons */
.hf-btn{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 18px;border-radius:12px;border:0;cursor:pointer;text-decoration:none;font-weight:700}
.hf-btn i{font-size:18px}
.hf-btn-primary{background:var(--hf-primary);color:#fff}
.hf-btn-primary:hover{filter:brightness(.95)}
.hf-btn-success{background:var(--hf-success);color:#fff}
.hf-btn-success:hover{background:var(--hf-success-dark)}
.hf-btn-ghost{background:#fff;border:1px solid var(--hf-border);color:var(--hf-text)}
.hf-btn-ghost:hover{background:#fafafa}
.hf-btn-lg{height:52px;padding:0 22px}

/* ============ Hero */
.hf-hero{background:linear-gradient(180deg,#f7f9ff 0,#fff 100%);padding:56px 0}
.hf-hero-grid{display:grid;grid-template-columns:1fr;gap:28px;align-items:center}
@media(min-width:992px){.hf-hero-grid{grid-template-columns:1.1fr .9fr}}
.hf-hero-copy .hf-chip{display:inline-block;background:#e8f5e9;color:#2e7d32;border-radius:999px;padding:6px 10px;font-weight:700;font-size:12px}
.hf-hero-copy h1{font-size:42px;line-height:1.1;margin:12px 0 8px}
.hf-primary{color:var(--hf-primary)}
.hf-lead{color:#374151;font-size:18px}
.hf-cta-group{display:flex;gap:12px;margin-top:14px;flex-wrap:wrap}
.hf-trust{display:flex;gap:12px;align-items:center;margin-top:18px}
.hf-trust img{height:26px;opacity:.9}
.hf-hero-art img{width:100%;height:auto}

/* ============ Sections */
.hf-section{padding:56px 0}
.hf-section-alt{background:var(--hf-bg-alt)}
.hf-title{font-size:28px;letter-spacing:-.3px;margin:0 0 18px}

/* ============ KPI Cards */
.hf-kpi-grid{display:grid;grid-template-columns:1fr;gap:16px}
@media(min-width:768px){.hf-kpi-grid{grid-template-columns:repeat(4,1fr)}}
.hf-card{border:1px solid var(--hf-border);border-radius:16px;padding:18px;box-shadow:0 8px 24px rgba(15,23,42,.04);background:#fff}
.hf-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#eef2ff;color:#1d4ed8;margin-bottom:8px}
.hf-card h3{margin:6px 0 6px}

/* ============ Steps */
.hf-steps{display:grid;grid-template-columns:1fr;gap:16px}
@media(min-width:768px){.hf-steps{grid-template-columns:repeat(4,1fr)}}
.hf-step{border:1px solid var(--hf-border);border-radius:16px;background:#fff;padding:16px}
 .hf-step-bullet{width:36px;height:36px;border-radius:10px;background:#eef2ff;color:#1d4ed8;display:flex;align-items:center;justify-content:center;font-weight:800;margin-bottom:8px}

/* ============ Contact */
.hf-contact-grid{display:grid;grid-template-columns:1fr;gap:28px;align-items:start}
@media(min-width:992px){.hf-contact-grid{grid-template-columns:1.1fr .9fr}}
.hf-list{list-style:none;padding:0;margin:16px 0 0}
.hf-list li{display:flex;gap:8px;margin:6px 0}
.hf-list i{color:#16a34a}

/* Form container */
.hf-form{background:#fff;border:1px solid var(--hf-border);border-radius:18px;padding:24px;box-shadow:0 10px 28px rgba(15,23,42,.06)}
.hf-grid{display:grid;grid-template-columns:1fr;gap:16px}
@media(min-width:768px){.hf-grid{grid-template-columns:1fr 1fr}}
.hf-span-2{grid-column:1/-1}

.hf-label{display:block;font-weight:600;margin-bottom:6px}
.hf-control{
  width:100%;appearance:none;background:#fff;border:1px solid var(--hf-border);
  border-radius:12px;padding:12px 14px;font-size:16px;line-height:1.3;color:var(--hf-text);
  transition:border-color .15s, box-shadow .15s, background .15s
}
.hf-control::placeholder{color:#9aa3af}
.hf-control:focus{outline:none;border-color:var(--hf-focus);box-shadow:0 0 0 3px rgba(29,78,216,.15)}
.hf-textarea{min-height:120px;resize:vertical}

.hf-select{
  background-image:url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 7l5 6 5-6' stroke='%239aa3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;background-size:18px 18px;padding-right:40px
}

.hf-choices{display:flex;gap:16px;margin-top:6px;flex-wrap:wrap}
.hf-choice{display:flex;align-items:center;gap:10px;cursor:pointer;user-select:none}
.hf-choice input{
  appearance:none;width:18px;height:18px;border:1.5px solid var(--hf-border);
  border-radius:50%;background:#fff;margin:0
}
.hf-choice input:focus{box-shadow:0 0 0 3px rgba(29,78,216,.15);border-color:var(--hf-focus)}
.hf-choice input[type="radio"]:checked{border-color:var(--hf-success);background-image:radial-gradient(var(--hf-success) 50%, transparent 51%)}
.hf-choice input[type="checkbox"]{border-radius:6px}
.hf-choice input[type="checkbox"]:checked{
  border-color:var(--hf-success);background:var(--hf-success);
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 8l3 3 7-7' stroke='white' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:center;background-size:12px 12px
}

.hf-help{font-size:13px;color:var(--hf-muted);margin-top:4px}
.hf-submit-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.hf-error{border-color:#ef4444!important}

/* Footer */
.hf-footer{border-top:1px solid #eef2ff;background:#fff}
.hf-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0}
.hf-muted{color:var(--hf-muted)}

/* WhatsApp floating */
.hf-wa-float{
  position:fixed;right:18px;bottom:18px;z-index:9999;width:56px;height:56px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;background:var(--hf-success);color:#fff;text-decoration:none;
  box-shadow:0 8px 24px rgba(0,0,0,.18)
}
.hf-wa-float i{font-size:26px}
.hf-wa-float:hover{filter:brightness(.95)}

/* Utils */
.is-hidden{display:none!important}

/* ===== Depoimentos / Provas Sociais ===== */
.hf-head-with-sub{margin-bottom:16px}
.hf-sub{color:var(--hf-muted);margin:0 0 8px}

.hf-logos{
  display:flex; gap:24px; align-items:center; justify-content:center;
  flex-wrap:wrap; padding:8px 0 18px
}
.hf-logos img{height:28px; opacity:.9; filter:grayscale(100%); transition:opacity .15s}
.hf-logos img:hover{opacity:1}

.hf-testimonials{padding:8px 0 40px}
.hf-testimonial{
  background:#fff; border:1px solid var(--hf-border); border-radius:16px;
  padding:22px; box-shadow:0 10px 28px rgba(15,23,42,.06); height:100%;
  display:flex; flex-direction:column; justify-content:space-between
}
.hf-testimonial blockquote{
  margin:14px 0; color:#111827; font-size:16px; line-height:1.55
}
.hf-testimonial figcaption{
  display:flex; align-items:center; gap:12px; margin-top:14px
}
.hf-testimonial figcaption img{
  width:44px; height:44px; border-radius:50%; object-fit:cover; border:1px solid var(--hf-border)
}
.hf-testimonial figcaption div{display:flex; flex-direction:column}
.hf-testimonial figcaption strong{font-weight:700}
.hf-testimonial figcaption span{color:var(--hf-muted); font-size:14px}

.hf-stars{color:#f59e0b}
.hf-stars .bi{margin-right:2px}

/* Ajustes dos botões do Swiper para ficar com a cara do tema */
.swiper-button-prev, .swiper-button-next{
  color:#1f2937; background:#fff; width:38px; height:38px; border-radius:999px;
  box-shadow:0 4px 14px rgba(0,0,0,.08); border:1px solid var(--hf-border)
}
.swiper-button-prev:after, .swiper-button-next:after{font-size:16px}
.swiper-pagination-bullet{background:#cbd5e1; opacity:1}
.swiper-pagination-bullet-active{background:var(--hf-primary)}

