/* ============ Base & Resets ============ */
:root{
  --brand:#10b981; /* emerald-500/600 vibe */
}
*{box-sizing:border-box}
html,body{max-width:100%; overflow-x:hidden}
img,video,iframe{max-width:100%; height:auto; display:block}
body{font-family:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue','Noto Sans',sans-serif}

/* utility fonts */
.font-poppins{font-family:'Poppins', sans-serif}

/* Links */
.nav-link{color:#374151; transition:color .2s}
.nav-link:hover{color:var(--brand)}
.mobile-link{padding:.5rem 0;color:#374151;transition:color .2s}
.mobile-link:hover{color:var(--brand)}

/* Buttons */
.btn-primary{
  background: #059669;
  color:#fff; padding:.625rem 1rem; border-radius:.5rem;
  font-weight:600; transition: all .2s ease;
  display:inline-block;
}
.btn-primary:hover{background:#047857}
.btn-outline{
  border:2px solid #059669;color:#059669;background:#fff;
  padding:.625rem 1rem;border-radius:.5rem;font-weight:600;display:inline-block;transition:background .2s,color .2s
}
.btn-outline:hover{background:#ecfdf5;color:#047857}
.btn-light{
  background:#fff;color:#059669;padding:.5rem 1rem;border-radius:.5rem;font-weight:600;transition:filter .2s
}
.btn-light:hover{filter:brightness(0.97)}

/* CTA float */
.cta-float{
  position:fixed;right:1rem;bottom:1rem;z-index:50;
  background:#059669;color:#fff;border-radius:9999px;padding:.75rem 1rem;
  display:flex;align-items:center;box-shadow:0 10px 20px rgba(0,0,0,.12);
  transition:transform .15s ease, background .2s ease;
}
.cta-float:hover{background:#047857; transform:scale(1.05)}

/* Hero decorative bg */
.hero-gradient{
  background: linear-gradient(135deg, rgba(255,255,255,.9) 0%, rgba(222,245,229,.8) 100%);
}

/* Icons & chips */
.icon-row{display:flex;align-items:flex-start}
.icon-badge{
  background:#d1fae5;color:#059669;border-radius:9999px;padding:.5rem;
  display:flex;align-items:center;justify-content:center;min-width:2.25rem;min-height:2.25rem;margin-right:.75rem
}
.num-badge{
  background:#d1fae5;color:#059669;border-radius:9999px;width:2.5rem;height:2.5rem;
  display:flex;align-items:center;justify-content:center;font-weight:700;margin-right:1rem
}

/* Accordion */
.accordion-item{background:#fff;border-radius:0.75rem;box-shadow:0 10px 20px -15px rgba(0,0,0,.25);overflow:hidden;margin-bottom:1rem}
.accordion-button{
  width:100%;display:flex;align-items:center;justify-content:space-between;
  padding:1.25rem; text-align:left; font-weight:600; color:#111827;
}
.accordion-content{max-height:0; overflow:hidden; transition:max-height .3s ease-out}
.accordion-inner{padding:0 1.25rem 1.25rem; color:#4b5563}

/* Cards / lists */
.card{background:#ecfdf5;border-radius:.75rem;padding:2rem;box-shadow:0 10px 20px -15px rgba(0,0,0,.25);transition:transform .2s, box-shadow .2s}
.card:hover{transform:translateY(-2px); box-shadow:0 14px 28px -16px rgba(0,0,0,.28)}
.list-check{list-style:none;padding:0;margin:0}
.list-check li{display:flex;align-items:flex-start;margin:.35rem 0}
.list-check li::before{content:"\f00c";font-family:"Font Awesome 6 Free";font-weight:900;color:#10b981;margin-right:.5rem;margin-top:.2rem}

/* CTA banner */
.cta-banner{background:linear-gradient(90deg,#10b981,#059669);border-radius:0.75rem;color:#fff;padding:2rem;display:flex;flex-direction:column}
@media (min-width:768px){.cta-banner{flex-direction:row;align-items:center}}

/* Footer */
.footer-title{color:#fff;font-weight:700;font-size:1.125rem;margin-bottom:1rem}
.footer-links{display:grid;gap:.5rem}
.footer-links a{color:#d1d5db}
.footer-links a:hover{color:#fff}

/* Social buttons (aside) */
.social-btn{background:#065f46;color:#fff;width:2.5rem;height:2.5rem;border-radius:9999px;display:flex;align-items:center;justify-content:center;transition:background .2s}
.social-btn:hover{background:#064e3b}

/* Inputs */
.label{display:block;font-size:.875rem;font-weight:600;color:#374151;margin-bottom:.25rem}
.input{width:100%;border:1px solid #d1d5db;border-radius:.5rem;padding:.5rem 0.75rem;outline:0;transition:border-color .2s, box-shadow .2s;background:#fff}
.input:focus{border-color:#10b981; box-shadow:0 0 0 3px rgba(16,185,129,.15)}

/* Map wrapper (keeps iframe responsive) */
.map-wrapper{position:relative;padding-top:56.25%; /* 16:9 */ overflow:hidden}
.map-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}

/* Stars in testimonials */
.stars::before{content:"\f005 \f005 \f005 \f005 \f005"; font-family:"Font Awesome 6 Free"; font-weight:900; color:#f59e0b}

/* Mobile menu animation */
.mobile-menu{transform-origin:top; transition:transform .2s ease, opacity .2s ease}
.mobile-menu.open{opacity:1; transform:scaleY(1)}
.mobile-menu.hidden{opacity:0; transform:scaleY(0)}

/* Small screens: make CTAs full-width */
@media (max-width:640px){
  .btn-primary, .btn-outline{width:100%}
}
