/* =========================================================
   FuseComp – shared improvements (place in /css/custom.css)
   Load AFTER css/style.css on every page.
   Uses your template's existing colours (var(--primary) etc.)
   ========================================================= */
:root{
  --fc-primary: var(--primary, #0d6efd);
  --fc-dark: var(--dark, #212529);
  --fc-light: var(--light, #f8f9fa);
  --fc-wa: #25D366;
}
html{scroll-behavior:smooth}
body,html{overflow-x:hidden;width:100%}
img{max-width:100%;height:auto}
a:focus-visible,button:focus-visible,.form-control:focus-visible{outline:3px solid var(--fc-primary);outline-offset:2px}

/* ---------- Header / navbar ---------- */
.logo-container{margin:10px 0 0}
.logo-img{max-width:300px;width:100%;height:auto;display:block;margin:0 auto}
.navbar-nav{margin-top:5px}
.navbar-nav .nav-link{padding-left:20px;padding-right:20px}
.navbar .navbar-nav .nav-link.nav-cta{
  background:var(--fc-primary);color:#fff!important;border-radius:6px;
  margin:6px 0 6px 10px;padding:10px 22px;transition:.25s;
}
.navbar .navbar-nav .nav-link.nav-cta:hover{filter:brightness(.9);transform:translateY(-1px)}
.navbar-collapse{justify-content:center}
@media (max-width:991.98px){
  .logo-img{max-width:220px}
  .navbar .navbar-nav .nav-link.nav-cta{margin:10px 16px;text-align:center}
  .navbar-nav .nav-link{padding:12px 20px}
}

/* ---------- Hero carousel ---------- */
.header-carousel .owl-carousel-item{position:relative;width:100%}
.header-carousel .owl-carousel-item img{width:100%;height:70vh;min-height:420px;object-fit:cover}
.header-carousel .owl-nav{position:absolute;right:24px;bottom:24px;display:flex;gap:10px;margin:0;z-index:15}
.header-carousel .owl-nav .owl-prev,
.header-carousel .owl-nav .owl-next{
  position:static!important;width:44px!important;height:44px!important;display:flex!important;
  align-items:center;justify-content:center;border-radius:50%!important;border:0!important;
  background:rgba(255,255,255,.28)!important;color:#fff!important;font-size:16px!important;transition:background .25s;
}
.header-carousel .owl-nav .owl-prev:hover,
.header-carousel .owl-nav .owl-next:hover{background:rgba(255,255,255,.5)!important}
.header-carousel .owl-dots{position:absolute;left:0;right:0;bottom:16px;text-align:center}
.hero-cta .btn{margin:4px 6px}
@media (max-width:991.98px){
  .header-carousel .owl-carousel-item img{height:60vh;min-height:400px}
}
@media (max-width:575.98px){
  .header-carousel .owl-carousel-item img{height:70vh;min-height:430px}
  .header-carousel h1.display-4,.header-carousel h1.display-6{font-size:1.7rem}
  .header-carousel h2{font-size:1.15rem}
  .header-carousel p.fs-5,.header-carousel p.fs-4{font-size:1rem!important}
  .header-carousel .owl-nav{display:none}
  .hero-cta .btn{display:block;margin:8px auto;max-width:260px}
}

/* ---------- Content blocks ---------- */
.section-heading{position:relative;margin-bottom:2rem}
.section-heading h2{font-weight:700}
.section-heading p{max-width:720px;margin:.5rem auto 0;color:#6c757d}
.cat-card{
  display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid rgba(0,0,0,.08);
  border-radius:10px;padding:1.5rem;transition:transform .25s,box-shadow .25s;text-align:center;
}
.cat-card:hover{transform:translateY(-4px);box-shadow:0 10px 25px rgba(0,0,0,.1)}
.cat-card .cat-icon{
  width:64px;height:64px;border-radius:50%;background:var(--fc-primary);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:24px;margin:0 auto 1rem;
}
.cat-card h3{font-size:1.15rem;font-weight:700;margin-bottom:.5rem}
.cat-card p{color:#6c757d;font-size:.95rem;flex-grow:1}
.cat-card .cat-links{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:.75rem}
.cat-card .cat-links .btn{padding:.4rem .9rem;font-size:.9rem}
.trust-strip .trust-item{display:flex;align-items:center;gap:12px;justify-content:center;padding:.75rem}
.trust-strip .trust-item i{color:var(--fc-primary);font-size:1.6rem}
.step-num{
  width:48px;height:48px;border-radius:50%;background:var(--fc-primary);color:#fff;font-weight:700;
  display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;font-size:1.2rem;
}
.cta-band{background:var(--fc-dark);color:#fff;border-radius:12px;padding:2.5rem 1.5rem;text-align:center}
.cta-band .btn{margin:6px}
.btn-wa{background:var(--fc-wa);border-color:var(--fc-wa);color:#fff}
.btn-wa:hover{filter:brightness(.92);color:#fff}
.partner-logos img{max-height:90px;width:auto;object-fit:contain}
.contact-card{display:flex;gap:14px;align-items:flex-start;background:#fff;border-radius:10px;padding:1rem 1.25rem;height:100%;border:1px solid rgba(0,0,0,.08)}
.contact-card i{color:var(--fc-primary);font-size:1.3rem;margin-top:3px}
.contact-card a{color:inherit;text-decoration:none;font-weight:600}
.contact-card a:hover{color:var(--fc-primary)}
.map-wrap{position:relative;min-height:320px;height:100%}
.map-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:10px}

/* ---------- Form ---------- */
.hp-field{position:absolute!important;left:-9999px!important;height:0;width:0;opacity:0}
#result-message{margin-top:15px;font-size:1rem;font-weight:600;text-align:center;border-radius:8px}
#result-message.ok{background:#e8f5e9;color:#1b5e20;padding:14px}
#result-message.err{background:#fdecea;color:#b71c1c;padding:14px}
.form-text-small{font-size:.85rem;color:#6c757d}

/* ---------- Floating contact buttons ---------- */
.wa-float{
  position:fixed;bottom:20px;left:20px;z-index:1000;width:58px;height:58px;border-radius:50%;
  background:var(--fc-wa);color:#fff;display:flex;align-items:center;justify-content:center;
  font-size:30px;box-shadow:0 4px 14px rgba(0,0,0,.3);text-decoration:none;transition:transform .2s;
}
.wa-float:hover{transform:scale(1.08);color:#fff}
.mobile-cta-bar{display:none}
@media (max-width:991.98px){
  .wa-float{display:none}
  .mobile-cta-bar{position:fixed;left:0;right:0;bottom:0;z-index:1030;display:flex;box-shadow:0 -2px 10px rgba(0,0,0,.18)}
  .mobile-cta-bar a{flex:1;text-align:center;padding:13px 4px;color:#fff;font-weight:600;font-size:14px;text-decoration:none}
  .mobile-cta-bar a i{margin-right:6px}
  .mobile-cta-bar .mc-call{background:var(--fc-primary)}
  .mobile-cta-bar .mc-wa{background:var(--fc-wa)}
  .mobile-cta-bar .mc-quote{background:var(--fc-dark)}
  body{padding-bottom:50px}
  .back-to-top-wrapper{bottom:70px!important}
}

/* ---------- Footer ---------- */
.footer a{color:#fff;text-decoration:none}
.footer a:hover{text-decoration:underline}
.footer h5{color:#fff;margin-bottom:1rem}
.footer ul{list-style:none;padding:0;margin:0}
.footer ul li{margin-bottom:.4rem}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}