/* RESET + BASE */
* { margin:0; padding:0; box-sizing:border-box; }
body {
  font-family: 'Inter', sans-serif;
  background-color:#fafafa;
  color:#222;
  line-height:2.0;
}
img { max-width:100%; display:block; border-radius:8px; }

/* TYPOGRAPHY */
h1,h2,h3,h4 { font-weight:800; line-height:1.2; }
h2 { font-size:1.8rem; margin-bottom:10px; }
p { font-size:1rem; color:#333; }

.container { width:90%; max-width:1100px; margin:auto; }
.section { padding:50px 20px; }

.label {
  text-transform:uppercase;
  font-size:0.85rem;
  font-weight:700;
  color:#1c8b4b;
  margin-bottom:5px;
}
.title { font-size:1.5rem; margin-bottom:20px; }
.accent{ color:#1c8b4b; }

/* HEADER */
.header {
  background:#fff;
  padding:16px 0;
  box-shadow:0 2px 8px rgba(0,0,0,0.05);
  position:sticky; top:0; z-index:1000;
}
.header-row{
  display:flex; align-items:center; justify-content:space-between;
}
.logo { font-size:1.2rem; font-weight:800; letter-spacing:0.5px; }
.nav { display:flex; gap:18px; }
.nav a { color:#222; text-decoration:none; font-weight:600; }
.menu-toggle { display:none; background:none; border:none; font-size:1.5rem; }

/* HERO */
.hero { position:relative; height:90vh; overflow:hidden; }
.hero img {
  width:100%; height:100%; object-fit:cover;
  filter:brightness(0.55);
}
.hero-content {
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  color:white; text-align:center;
}
.hero-content h2{ font-size:2.2rem; }
.hero-content p{ font-size:1.1rem; margin-bottom:18px; color:#f0f0f0; }

/* PROMO BANNER */
.promo-banner{
  background:#fff;
  color:#111;
  text-align:center;
  font-weight:700;
  padding:14px 18px;
  font-size:1.05rem;
  box-shadow:0 4px 10px rgba(0,0,0,0.06);
  margin:-22px auto 0;
  max-width:900px;
  border-radius:10px;
}

/* BUTTONS */
.btn {
  background:#1c8b4b; color:#fff;
  padding:12px 25px; text-decoration:none;
  font-weight:600; border:none; border-radius:6px;
  transition:background 0.3s ease;
  display:inline-block;
}
.btn:hover{ background:#166f3d; }
.btn-primary{ background:#1c8b4b; }

/* CARDS */
.card-grid{
  display:grid;
  gap:25px;
  margin-top:30px;
  grid-template-columns:repeat(auto-fit, minmax(280px,1fr));
}
.card{
  background:#fff; border-radius:10px; overflow:hidden;
  box-shadow:0 4px 15px rgba(0,0,0,0.06);
  transition:transform 0.3s ease;
}
.card:hover{ transform:translateY(-5px); }
.card-body{ padding:20px; }
.card-body h4{ margin-bottom:8px; }

/* BRANDS */
.brands-row{
  display:flex; flex-wrap:wrap; gap:16px;
  align-items:center; justify-content:space-between;
  margin-top:18px;
}
.brand{
  flex:1 1 140px;
  background:#fff; padding:12px;
  border-radius:8px;
  box-shadow:0 6px 18px rgba(0,0,0,0.04);
  display:flex; align-items:center; justify-content:center;
}
.brand img{ max-height:46px; object-fit:contain; }

/* PRICING */
.pricing-grid{
  display:grid; grid-template-columns:1fr; gap:18px; margin-top:18px;
}
.pricing-card{
  background:#fff; border-radius:10px; padding:22px;
  box-shadow:0 6px 20px rgba(0,0,0,0.06);
  display:flex; flex-direction:column; gap:12px;
}
.pricing-card.featured{
  border:1px solid rgba(28,139,75,0.12);
  transform:translateY(-6px);
  background:linear-gradient(180deg,#fff,#fbfff9);
}
.pricing-head{ display:flex; justify-content:space-between; align-items:center; gap:10px; }
.price{ font-size:1.6rem; color:#1c8b4b; font-weight:800; }
.price-sub{ font-size:0.9rem; color:#666; font-weight:600; margin-left:6px; }
.pricing-features{ list-style:none; padding-left:0; margin:0; }
.pricing-features li{ padding:4px 0; color:#444; }

/* GALLERY */
.gallery-grid{
  display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-top:18px;
}
.gallery-item{
  overflow:hidden; border-radius:8px; background:#fff;
  box-shadow:0 6px 18px rgba(0,0,0,0.05);
}
.gallery-item img{ width:100%; height:100%; object-fit:cover; transition:transform .25s ease; }
.gallery-item:hover img{ transform:scale(1.04); }

/* LIGHTBOX */
.lightbox{
  position:fixed; inset:0;
  display:none; align-items:center; justify-content:center;
  background:rgba(0,0,0,0.75);
  z-index:9999; padding:30px;
}
.lightbox.show{ display:flex; }
.lightbox-img{ max-width:95%; max-height:85%; border-radius:8px; }
.lightbox-close{
  position:absolute; top:20px; right:26px;
  background:transparent; color:#fff; border:0;
  font-size:26px; cursor:pointer;
}
.lightbox-nav{
  position:absolute; left:20px; right:20px; top:50%;
  transform:translateY(-50%);
  display:flex; justify-content:space-between; pointer-events:none;
}
.lightbox-prev,.lightbox-next{
  pointer-events:auto;
  background:rgba(255,255,255,0.08);
  border:0; color:#fff; width:46px; height:46px;
  border-radius:50%; font-size:24px; cursor:pointer;
}

/* ABOUT */
.about-img{ margin-top:20px; border-radius:10px; }
.service-area{ margin-top:10px; font-weight:600; color:#2a2a2a; }

/* CONTACT FORM */
.contact-form{
  display:grid; gap:15px; margin-top:30px;
}
.contact-form input, .contact-form textarea{
  padding:15px; border:1px solid #ccc; border-radius:6px; font-size:1rem;
}
.checkbox{ display:flex; gap:10px; align-items:center; font-size:0.9rem; }

/* MAP */
iframe{ margin-top:30px; border-radius:10px; }

/* REVIEWS */
.reviews-section{ background:#f9f9f9; }
.fb-cta{ margin-top:20px; text-align:center; }

/* CONTACT INFO + FOOTER LINKS */
.contact-info{
  background:#f5f5f5; border-radius:10px;
  padding:40px 20px; margin-bottom:40px;
}
.info-block{ margin-bottom:20px; }
.info-block a{ color:#1c8b4b; text-decoration:none; font-weight:500; }
.info-block h4{ margin-bottom:5px; font-size:1rem; font-weight:700; }
.hours{ list-style:none; padding-left:0; font-size:0.95rem; }

.footer-links{
  background:#0c1e13; padding:20px 0; color:#fff; text-align:center;
}
.footer-links a{
  color:#fff; margin:0 10px; font-weight:600; text-decoration:none;
}
.footer-links .credit{ margin-top:15px; font-size:0.85rem; color:#ccc; }

/* FOOTER */
.footer{
  background:#222; color:#aaa; text-align:center;
  padding:20px; font-size:0.9rem;
}

/* NEWSLETTER SLIDE-IN */
.newsletter-popup{
  position:fixed; right:20px; bottom:-400px;
  width:300px; padding:18px;
  background:#fff; border-radius:12px;
  box-shadow:0 10px 30px rgba(0,0,0,0.25);
  transition:bottom .5s ease; z-index:2000;
}
.newsletter-popup h3{ font-size:1.2rem; margin-bottom:8px; }
.newsletter-popup p{ font-size:0.95rem; margin-bottom:12px; }
.newsletter-popup input{
  width:100%; padding:10px;
  border:1px solid #ccc; border-radius:6px; margin-bottom:10px;
}
.newsletter-popup button{
  width:100%; background:#1c8b4b; color:#fff;
  padding:10px; border:none; border-radius:6px;
  font-weight:700; cursor:pointer;
}
.newsletter-close{
  position:absolute; top:8px; right:10px;
  background:none; border:0; cursor:pointer; font-size:18px;
}
.newsletter-success{
  display:none; margin-top:8px; font-weight:700; color:#1c8b4b;
}

/* RESPONSIVE */
@media (max-width: 768px){
  .nav{ display:none; flex-direction:column; gap:10px; margin-top:10px; }
  .nav.show{ display:flex; }
  .menu-toggle{ display:block; }
}
@media (min-width: 720px){
  .pricing-grid{ grid-template-columns:repeat(3,1fr); }
  .gallery-grid{ grid-template-columns:repeat(3,1fr); }
}
