/* =========================================================
   index-legacy.css
   Minimal legacy selectors still used by index.html
   (Modern approach: avoid global body/a/h* overrides)
   ========================================================= */

/* Back to top */
.back-to-top{
  position:fixed; visibility:hidden; opacity:0;
  right:15px; bottom:15px; z-index:99;
  background:#18d26e; width:40px; height:40px; border-radius:50px;
  transition:all .4s;
}
.back-to-top i{ font-size:28px; color:#fff; line-height:0; }
.back-to-top:hover{ background:#2ce782; color:#fff; }
.back-to-top.active{ visibility:visible; opacity:1; }

/* Section headers used on index */
.section-header h3{
  font-size:32px; color:#111; text-transform:uppercase; text-align:center;
  font-weight:700; position:relative; padding-bottom:15px;
}
.section-header h3::before{
  content:""; position:absolute; display:block;
  width:120px; height:1px; background:#ddd; bottom:1px; left:calc(50% - 60px);
}
.section-header h3::after{
  content:""; position:absolute; display:block;
  width:40px; height:3px; background:#18d26e; bottom:0; left:calc(50% - 20px);
}
.section-header p{ text-align:center; padding-bottom:30px; color:#333; }

/* Section background helper (index uses .section-bg on contact) */
.section-bg{ background:#f7f7f7; }

/* Services section (3 boxes) */
#services{ background:#fff; background-size:cover; padding:60px 0 40px 0; }
#services .box{ margin-bottom:30px; }
#services .icon{ float:left; }
#services .icon i{ color:#18d26e; font-size:36px; line-height:0; transition:.5s; }
#services .title{ margin-left:60px; font-weight:700; margin-bottom:15px; font-size:18px; }
#services .title a{ color:#111; }
#services .box:hover .title a{ color:#18d26e; }
#services .description{ font-size:14px; margin-left:60px; line-height:24px; margin-bottom:0; }

/* Contact section (info + php-email-form states) */
#contact{ padding:60px 0; }
#contact .contact-info{ margin-bottom:20px; text-align:center; }
#contact .contact-info i{ font-size:48px; display:inline-block; margin-bottom:10px; color:#18d26e; }
#contact .contact-info address, #contact .contact-info p{ margin-bottom:0; color:#000; }
#contact .contact-info h3{
  font-size:18px; margin-bottom:15px; font-weight:bold; text-transform:uppercase; color:#999;
}
#contact .contact-info a{ color:#000; }
#contact .contact-info a:hover{ color:#18d26e; }
#contact .contact-address, #contact .contact-phone, #contact .contact-email{ margin-bottom:20px; }

#contact .php-email-form{
  box-shadow:0 0 30px rgba(214,215,216,.6);
  padding:30px; background:#fff;
}
#contact .php-email-form .error-message{
  display:none; color:#fff; background:#ed3c0d; text-align:left; padding:15px; font-weight:600;
}
#contact .php-email-form .sent-message{
  display:none; color:#fff; background:#18d26e; text-align:center; padding:15px; font-weight:600;
}
#contact .php-email-form .loading{
  display:none; background:#fff; text-align:center; padding:15px;
}
#contact .php-email-form .loading:before{
  content:""; display:inline-block; border-radius:50%;
  width:24px; height:24px; margin:0 10px -6px 0;
  border:3px solid #18d26e; border-top-color:#eee;
  animation:index-legacy-loading 1s linear infinite;
}
@keyframes index-legacy-loading{
  0%{ transform:rotate(0deg); }
  100%{ transform:rotate(360deg); }
}

/* Footer */
#footer{ background:#000; padding:0 0 30px 0; color:#eee; font-size:14px; }
#footer .footer-top{ background:#111; padding:60px 0 30px 0; }
#footer .footer-top .footer-info{ margin-bottom:30px; }
#footer .footer-top .footer-info h3{
  font-size:34px; margin:0 0 20px 0; padding:2px 0 2px 10px; line-height:1;
  font-weight:700; letter-spacing:3px; border-left:4px solid #18d26e;
}
#footer .footer-top .footer-info p{ font-size:14px; line-height:24px; margin-bottom:0; color:#eee; }
#footer .footer-top .social-links a{
  background:#333; color:#eee; margin-right:4px; border-radius:50%;
  width:36px; height:36px; transition:.3s;
  display:inline-flex; align-items:center; justify-content:center;
}
#footer .footer-top .social-links a i{ line-height:0; font-size:16px; }
#footer .footer-top .social-links a:hover{ background:#18d26e; color:#fff; }
#footer .footer-top h4{
  font-size:14px; font-weight:bold; color:#fff; text-transform:uppercase;
  position:relative; padding-bottom:12px;
}
#footer .footer-top h4::before{ content:""; position:absolute; left:0; bottom:0; height:2px; right:0; background:#555; }
#footer .footer-top h4::after{ content:""; position:absolute; left:0; bottom:0; height:2px; width:60px; background:#18d26e; }
#footer .footer-top .footer-links{ margin-bottom:30px; }
#footer .footer-top .footer-links ul{ list-style:none; padding:0; margin:0; }
#footer .footer-top .footer-links ul i{ padding-right:8px; color:#ddd; }
#footer .footer-top .footer-links ul li{ border-bottom:1px solid #333; padding:10px 0; }
#footer .footer-top .footer-links ul a{ color:#eee; }
#footer .footer-top .footer-links ul a:hover{ color:#18d26e; }
#footer .footer-top .footer-contact{ margin-bottom:30px; }
#footer .footer-top .footer-contact p{ line-height:26px; }
#footer .copyright{ text-align:center; padding-top:30px; }
