/* =====================================================
   Mahalaxmi Engineering Works — Custom Styles
   Extends templatemo-hexashop.css (kept for layout/nav)
   ===================================================== */

:root{
  --mx-orange:#EA5E20;
  --mx-orange-dark:#C94812;
  --mx-charcoal:#22252B;
  --mx-charcoal-light:#3A3F47;
  --mx-grey-bg:#F6F6F8;
  --mx-border:#E7E7EA;
}

body{ color:#4a4a4a; }

a{ transition:.25s ease; }

/* ---------- Utility ---------- */
.mx-eyebrow{
  display:inline-block;
  color:var(--mx-orange);
  font-weight:700;
  letter-spacing:2px;
  text-transform:uppercase;
  font-size:13px;
  margin-bottom:10px;
}
.mx-section{ padding:80px 0; }
.mx-section-grey{ background:var(--mx-grey-bg); }
.mx-center{ text-align:center; }
.mx-mb-50{ margin-bottom:50px; }

/* ---------- Top utility bar ---------- */
.mx-topbar{
  background:var(--mx-charcoal);
  color:#cfd2d6;
  font-size:13px;
  padding:8px 0;
}
.mx-topbar .container{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
}
.mx-topbar a{ color:#cfd2d6; text-decoration:none; }
.mx-topbar a:hover{ color:var(--mx-orange); }
.mx-topbar .mx-topbar-left span{ margin-right:22px; white-space:nowrap; }
.mx-topbar .mx-topbar-left i{ color:var(--mx-orange); margin-right:6px; }
.mx-topbar-social a{
  display:inline-block;
  margin-left:12px;
  font-size:14px;
}

/* ---------- Header polish ---------- */
.header-area{ background:#fff; }
.main-nav .logo img{ max-height:52px; }
.main-nav .nav li a{ font-weight:600; }
.main-nav .nav li a.active,
.main-nav .nav li a:hover{ color:var(--mx-orange) !important; }
.main-nav .main-border-button a{
  background:var(--mx-orange);
  border-color:var(--mx-orange);
}
.main-nav .main-border-button a:hover{
  background:var(--mx-orange-dark);
  border-color:var(--mx-orange-dark);
}

/* ---------- Generic page heading (no stock photo) ---------- */
.mx-page-heading{
  background:linear-gradient(120deg,var(--mx-charcoal) 0%, #3d3229 55%, var(--mx-orange) 160%);
  padding:150px 0 70px;
  color:#fff;
  position:relative;
  overflow:hidden;
}
.mx-page-heading:before{
  content:"";
  position:absolute; inset:0;
  background:radial-gradient(circle at 85% 20%, rgba(255,255,255,.08), transparent 45%);
}
.mx-page-heading .mx-breadcrumb{
  color:#e7cdbd;
  font-size:14px;
  margin-bottom:14px;
  letter-spacing:1px;
}
.mx-page-heading .mx-breadcrumb a{ color:#fff; text-decoration:none; }
.mx-page-heading h1{
  font-size:42px;
  font-weight:700;
  margin-bottom:14px;
}
.mx-page-heading p{
  font-size:17px;
  color:#e9e4de;
  max-width:640px;
}

/* ---------- Hero (home) ---------- */
.mx-hero{
  background:var(--mx-charcoal);
  color:#fff;
  padding:160px 0 90px;
  position:relative;
  overflow:hidden;
}
.mx-hero:before{
  content:"";
  position:absolute; inset:0;
  background:radial-gradient(circle at 90% 10%, rgba(234,94,32,.35), transparent 40%);
}
.mx-hero .container{ position:relative; z-index:1; }
.mx-hero h1{
  font-size:46px;
  font-weight:700;
  line-height:1.2;
  margin-bottom:20px;
}
.mx-hero h1 span{ color:var(--mx-orange); }
.mx-hero p{
  font-size:17px;
  color:#cfd2d6;
  max-width:520px;
  margin-bottom:30px;
}
.mx-hero-stats{
  display:flex;
  gap:40px;
  margin-top:40px;
  flex-wrap:wrap;
}
.mx-hero-stats div h3{
  color:var(--mx-orange);
  font-size:30px;
  font-weight:700;
  margin-bottom:2px;
}
.mx-hero-stats div span{
  font-size:13px;
  color:#b7bbc1;
  text-transform:uppercase;
  letter-spacing:1px;
}
.mx-btn{
  display:inline-block;
  background:var(--mx-orange);
  color:#fff !important;
  padding:14px 32px;
  border-radius:3px;
  font-weight:600;
  text-decoration:none;
  border:2px solid var(--mx-orange);
  margin-right:14px;
  margin-bottom:10px;
}
.mx-btn:hover{ background:var(--mx-orange-dark); border-color:var(--mx-orange-dark); }
.mx-btn-outline{
  background:transparent;
  border:2px solid rgba(255,255,255,.4);
  color:#fff !important;
}
.mx-btn-outline:hover{ border-color:#fff; background:rgba(255,255,255,.08); }
.mx-btn-dark{ background:var(--mx-charcoal); border-color:var(--mx-charcoal); }
.mx-btn-dark:hover{ background:#000; border-color:#000; }

.mx-hero-gallery{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.mx-hero-gallery figure{
  margin:0;
  border-radius:6px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 20px 40px rgba(0,0,0,.35);
  position:relative;
}
.mx-hero-gallery figure img{
  width:100%;
  height:170px;
  object-fit:cover;
  display:block;
}
.mx-hero-gallery figcaption{
  position:absolute; left:0; right:0; bottom:0;
  background:linear-gradient(to top, rgba(0,0,0,.75), transparent);
  color:#fff;
  font-size:13px;
  font-weight:600;
  padding:10px 12px 8px;
}

/* ---------- Section heading polish ---------- */
.section-heading h2{ color:var(--mx-charcoal); }

/* ---------- Feature / Why choose us icons ---------- */
.mx-features{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:30px;
}
@media (max-width:768px){ .mx-features{ grid-template-columns:1fr; } }
.mx-feature-card{
  background:#fff;
  border:1px solid var(--mx-border);
  border-radius:8px;
  padding:34px 28px;
  transition:.25s ease;
}
.mx-feature-card:hover{
  border-color:var(--mx-orange);
  transform:translateY(-4px);
  box-shadow:0 18px 34px rgba(20,20,20,.08);
}
.mx-feature-icon{
  width:56px; height:56px;
  border-radius:50%;
  background:rgba(234,94,32,.1);
  color:var(--mx-orange);
  display:flex; align-items:center; justify-content:center;
  font-size:22px;
  margin-bottom:20px;
}
.mx-feature-card h4{
  color:var(--mx-charcoal);
  font-size:18px;
  font-weight:700;
  margin-bottom:10px;
}
.mx-feature-card p{ font-size:14.5px; line-height:1.7; margin:0; }

/* ---------- Product / Service cards ---------- */
.mx-card-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:30px;
}
@media (max-width:992px){ .mx-card-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .mx-card-grid{ grid-template-columns:1fr; } }

.mx-product-card{
  background:#fff;
  border-radius:8px;
  overflow:hidden;
  border:1px solid var(--mx-border);
  transition:.25s ease;
  display:flex;
  flex-direction:column;
}
.mx-product-card:hover{
  box-shadow:0 20px 40px rgba(20,20,20,.1);
  transform:translateY(-5px);
}
.mx-product-card .mx-thumb{
  height:230px;
  overflow:hidden;
  background:#eee;
}
.mx-product-card .mx-thumb img{
  width:100%; height:100%;
  object-fit:cover;
  display:block;
  transition:.4s ease;
}
.mx-product-card:hover .mx-thumb img{ transform:scale(1.06); }
.mx-product-card .mx-body{
  padding:24px;
  flex:1;
  display:flex;
  flex-direction:column;
}
.mx-product-card h4{
  color:var(--mx-charcoal);
  font-weight:700;
  font-size:18px;
  margin-bottom:10px;
}
.mx-product-card p{
  font-size:14.5px;
  line-height:1.7;
  color:#666;
  flex:1;
}
.mx-product-card a.mx-card-link{
  color:var(--mx-orange);
  font-weight:700;
  font-size:13.5px;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.5px;
  margin-top:14px;
  display:inline-block;
}
.mx-product-card a.mx-card-link i{ margin-left:6px; }
.mx-product-card a.mx-card-link:hover{ color:var(--mx-orange-dark); }

/* ---------- Services list ---------- */
.mx-service-card{
  background:#fff;
  border:1px solid var(--mx-border);
  border-radius:8px;
  padding:34px 30px;
  height:100%;
  position:relative;
}
.mx-service-num{
  position:absolute;
  top:20px; right:26px;
  font-size:34px;
  font-weight:800;
  color:var(--mx-grey-bg);
  -webkit-text-stroke:1px var(--mx-border);
}
.mx-service-card .mx-feature-icon{ margin-bottom:22px; }
.mx-service-card h4{
  color:var(--mx-charcoal);
  font-weight:700;
  margin-bottom:10px;
  font-size:18px;
}
.mx-service-card p{ font-size:14.5px; line-height:1.75; color:#666; margin:0; }

/* ---------- Process steps ---------- */
.mx-process{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:20px;
  counter-reset:mxstep;
}
@media (max-width:992px){ .mx-process{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:576px){ .mx-process{ grid-template-columns:1fr 1fr; } }
.mx-process-step{ text-align:center; }
.mx-process-step .mx-step-circle{
  counter-increment:mxstep;
  width:56px; height:56px;
  border-radius:50%;
  border:2px solid var(--mx-orange);
  color:var(--mx-orange);
  display:flex; align-items:center; justify-content:center;
  font-weight:800;
  font-size:18px;
  margin:0 auto 16px;
}
.mx-process-step .mx-step-circle:before{ content: counter(mxstep); }
.mx-process-step h5{
  font-size:14.5px;
  font-weight:700;
  color:var(--mx-charcoal);
  margin-bottom:6px;
}
.mx-process-step p{ font-size:13px; color:#888; margin:0; }

/* ---------- Gallery ---------- */
.mx-gallery{
  columns:4 220px;
  column-gap:16px;
}
.mx-gallery figure{
  margin:0 0 16px;
  break-inside:avoid;
  border-radius:6px;
  overflow:hidden;
}
.mx-gallery img{ width:100%; display:block; }
@media (max-width:768px){ .mx-gallery{ columns:2 180px; } }

/* ---------- CTA band ---------- */
.mx-cta{
  background:linear-gradient(120deg,var(--mx-charcoal), #34281f 70%, var(--mx-orange-dark));
  color:#fff;
  padding:60px 0;
  text-align:center;
}
.mx-cta h2{ font-size:30px; font-weight:700; margin-bottom:14px; }
.mx-cta p{ color:#d8d8d8; margin-bottom:26px; }

/* ---------- About page ---------- */
.mx-about-badge{
  background:#fff;
  border:1px solid var(--mx-border);
  border-radius:8px;
  padding:22px 26px;
  display:flex;
  gap:16px;
  align-items:flex-start;
  margin-bottom:18px;
}
.mx-about-badge i{ color:var(--mx-orange); font-size:22px; margin-top:3px; }
.mx-about-badge h5{ font-weight:700; color:var(--mx-charcoal); margin-bottom:4px; }
.mx-about-badge p{ font-size:14px; color:#777; margin:0; }

/* ---------- Contact page ---------- */
.mx-contact-card{
  background:#fff;
  border:1px solid var(--mx-border);
  border-radius:8px;
  padding:26px;
  text-align:center;
  height:100%;
}
.mx-contact-card i{
  width:52px; height:52px;
  border-radius:50%;
  background:rgba(234,94,32,.1);
  color:var(--mx-orange);
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 16px;
  font-size:20px;
}
.mx-contact-card h5{ font-weight:700; color:var(--mx-charcoal); margin-bottom:6px; }
.mx-contact-card p, .mx-contact-card a{ font-size:14px; color:#666; text-decoration:none; }
.mx-contact-card a:hover{ color:var(--mx-orange); }

#contact input, #contact textarea, #subscribe input{
  width:100%;
  border:1px solid var(--mx-border);
  border-radius:4px;
  padding:13px 16px;
  font-size:14px;
  margin-bottom:18px;
  font-family:inherit;
}
#contact button, #subscribe button{
  cursor:pointer;
}
.mx-form-msg{
  padding:14px 18px;
  border-radius:4px;
  margin-bottom:20px;
  font-size:14px;
}
.mx-form-msg.success{ background:#e6f7ec; color:#1c7a3c; border:1px solid #b7e3c4; }
.mx-form-msg.error{ background:#fdecec; color:#b3261e; border:1px solid #f3bcbc; }
.mx-hp-field{ position:absolute; left:-9999px; opacity:0; }

/* ---------- Footer polish ---------- */
footer{ background:var(--mx-charcoal); }
footer .logo img{ max-width:170px; background:#fff; padding:8px 12px; border-radius:4px; }
footer ul li a{ color:#c6c9cd; }
footer h4{ color:#fff; }
.mx-footer-social a{
  display:inline-flex;
  width:34px; height:34px;
  align-items:center; justify-content:center;
  background:rgba(255,255,255,.08);
  border-radius:50%;
  margin-right:8px;
  color:#fff !important;
}
.mx-footer-social a:hover{ background:var(--mx-orange); }
footer .under-footer ul{ display:inline-block; }
footer .under-footer{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; }

/* ---------- WhatsApp floating button ---------- */
.mx-whatsapp-float{
  position:fixed;
  bottom:26px; right:26px;
  width:58px; height:58px;
  background:#25D366;
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  color:#fff;
  font-size:28px;
  box-shadow:0 8px 20px rgba(0,0,0,.3);
  z-index:999;
  text-decoration:none;
}
.mx-whatsapp-float:hover{ color:#fff; transform:scale(1.06); }

@media (max-width:991px){
  .mx-hero{ padding:130px 0 60px; text-align:center; }
  .mx-hero p{ margin-left:auto; margin-right:auto; }
  .mx-hero-gallery{ margin-top:40px; }
  .mx-page-heading{ padding:120px 0 50px; text-align:center; }
  .mx-page-heading p{ margin:0 auto; }
}
