@charset "utf-8";
/* Reset default spacing */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}


/* Body basic styles */
body {
  font-family: 'Helvetica Neue', Arial, sans-serif;
  background-color: #ffffff;
  color: #333333;
}

/* Unified background wrapper */
.background-wrapper {
  background: url("../images/lightning-bg-new.jpg") no-repeat center center / cover;
  width: 100%;
}

/* Clear individual section backgrounds */
.phone-banner,
.generator-section,
.welcome-section,
.navigation,
.call-button-section {
  background: none;
}

/* Position sections relative for overlays */
.background-wrapper section,
.background-wrapper nav,
.background-wrapper .call-button-section,
.background-wrapper .phone-banner {
  position: relative;
  z-index: 1;
}

/* General overlay setup */
.background-wrapper section::before,
.background-wrapper nav::before,
.background-wrapper .call-button-section::before,
.background-wrapper .phone-banner::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}

/* Phone Banner Overlay */
.background-wrapper .phone-banner::before {
  background: rgba(0, 0, 0, 0.3);
}

/* Generator Section Overlay */
.background-wrapper .generator-section::before {
  background: rgba(0, 0, 0, 0.4);
}

/* Welcome Section Overlay */
.background-wrapper .welcome-section::before {
  background: rgba(0, 0, 0, 0.5);
}

/* Navigation Overlay */
.background-wrapper nav::before {
  background: rgba(0, 0, 0, 0.3);
}

/* Call Button Section Overlay */
.background-wrapper .call-button-section::before {
  background: rgba(0, 0, 0, 0.4);
}


/* Logo container styles */
.logo-container {
  width: 100%;
  height: 350px; /* Desktop height */
  background: url("../images/lightning-bg-new.jpg") no-repeat center center/cover;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  padding: 0;
}

/* Main Logo Image Styling */
.logo-img {
  max-width: 100%;
  height: auto;
  object-fit: contain;
  transition: all 0.3s ease-in-out; /* Smooth transition */
}

.logo-img:hover {
  filter: drop-shadow(0 0 10px #ffffff); /* White electric glow */
}


/* Welcome section */
.welcome-section {
  text-align: center;
  padding: 30px 20px 10px 20px; /* Reduced top padding only */
  background: url("../images/lightning-bg-new.jpg") no-repeat center center/cover;
  color: #ffffff;
}  /* ← THIS was missing */


.welcome-section h1 {
  font-size: 2.5rem;
  margin-bottom: 20px;
  color: #ffffff;
}

.welcome-section p {
  font-size: 1.2rem;
  color: #ffffff;
}

@media (max-width: 768px) {
  .logo-container {
    height: 200px;
  }

  .generator-section {
    padding-top: 30px; /* Add this to reduce space if needed */
  }


  .logo-img {
    width: 80%;
    height: auto;
  }

  .welcome-section h1 {
    font-size: 2rem;
  }

  .welcome-section p {
    font-size: 1rem;
  }
}

.call-button-section {
  display: block;
  width: 100%;
  text-align: center;
  background: url("../images/lightning-bg-new.jpg") no-repeat center center/cover;
  padding: 20px 0;
}


.call-button {
  display: inline-block;
  background-color: #ff6600;
  color: #ffffff;
  font-size: 1.2rem;
  padding: 12px 25px;
  border-radius: 30px;
  text-decoration: none;
  box-shadow: 0 4px 6px rgba(0,0,0,0.2);
  transition: background-color 0.3s, transform 0.3s;
}

.call-button:hover {
  background-color: #e65c00;
  transform: scale(1.05);
  box-shadow: 0 0 15px #ff6600, 0 0 20px #ff6600;
}


/* General Section Style */
.section-style {
  padding: 80px 20px;
  text-align: center;
  background: url("../images/lightning-bg-new.jpg") no-repeat center center/cover;
  color: #ffffff;
}

.section-style h2 {
  font-size: 2.5rem;
  margin-bottom: 20px;
}

.section-style p {
  font-size: 1.2rem;
  max-width: 800px;
  margin: 0 auto;
}

/* Responsive tweaks */
@media (max-width: 768px) {
  .section-style h2 {
    font-size: 2rem;
  }

  .section-style p {
    font-size: 1rem;
    padding: 0 10px;
  }
}

/* Navigation Menu */
.navigation {
  background: url("../images/lightning-bg-new.jpg") no-repeat center center/cover;
  padding: 20px 0;
  text-align: center;
}
.navigation ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  justify-content: center;
  flex-wrap: wrap; /* desktop: allow wrap */
}

.navigation li {
  margin: 0 10px; /* normal space between buttons desktop */
  text-align: center;
}

.navigation a {
  text-decoration: none;
  font-size: 1.2rem;
  color: #ffffff;
  padding: 10px 20px;
  border-radius: 8px;
  transition: all 0.3s ease;
  background-color: rgba(255, 102, 0, 0.2);
  box-shadow: 0 4px 6px rgba(255, 102, 0, 0.3);
  display: inline-block; /* very important for sizing */
}

/* Glow effect on hover */
.navigation a:hover {
  background-color: #ff6600;
  color: #ffffff;
  box-shadow: 0 0 10px #ff6600, 0 0 20px #ff6600;
  transform: scale(1.05);
}


/* Mobile Fix */
@media (max-width: 600px) {
  .navigation ul {
    flex-wrap: nowrap; /* On small screens, force no wrap */
  }

.navigation li {
    flex: 1; /* Equal width for each button */
    margin: 0 2px; /* Smaller margin for tight fit */
  }

  .navigation a {
    padding: 10px 5px; /* smaller padding for mobile */
    font-size: 1rem; /* smaller font for mobile */
    display: block; /* full clickable area */
  }
}
/* Glow effect on hover */
.navigation a:hover {
  background-color: #ff6600;
  color: #ffffff;
  box-shadow: 0 0 10px #ff6600, 0 0 20px #ff6600;
  transform: scale(1.05);
}



/* About Us Content Layout */
.about-content {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 20px;
  max-width: 1000px;
  margin: 0 auto;
  padding: 20px;
}

.about-img {
  flex: 1 1 300px;
  max-width: 300px;
  border-radius: 12px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
}

.about-text {
  flex: 2 1 500px;
}

.about-text p {
  text-align: left;
}
.about-phone {
  color: yellow;
  text-decoration: none; /* Optional: removes underline if you want a cleaner look */
}


/* Mobile Responsive */
@media (max-width: 768px) {
  .about-content {
    flex-direction: column;
    align-items: center;
  }

  .about-img {
    width: 80%;
    max-width: 300px;
  }

  .about-text {
  flex: 2 1 500px;
  animation: fadeInUp 1.4s ease-out forwards;
  animation-delay: 0.5s;
  opacity: 0; /* Start invisible */
}

}
/* Fade-in Animation */
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Apply the animation to the About Us Image */
.about-img {
  flex: 1 1 300px;
  max-width: 300px;
  border-radius: 12px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  animation: fadeInUp 1.2s ease-out forwards;
}
/* Gallery Grid Layout */
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 15px;
  padding: 10px;
}
.gallery-item img {
  width: 100%;
  height: 200px; /* or adjust to 250px or 300px if you prefer */
  border-radius: 8px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  object-fit: cover;
  transition: transform 0.3s ease;
}

.gallery-item img:hover {
  transform: scale(1.03);
  box-shadow: 0 6px 12px rgba(255, 102, 0, 0.5);
}


/* Services Section */
.services-section {
  position: relative;
  padding: 60px 20px;
  background: url("../images/lightning-bg-new.jpg") no-repeat center center/cover;
  text-align: center;
  color: #ffffff;
  overflow: hidden;
}

/* Overlay on top of background */
.services-section .overlay {
  background-color: rgba(0, 0, 0, 0.6); /* semi-transparent black overlay */
  padding: 60px 20px;
  width: 100%;
  height: 100%;
}

/* Services Title */
.services-section h2 {
  font-size: 2rem;
  margin-bottom: 40px;
  color: #ffffff;
}

/* Wrapper for service items */
.services-wrapper {
  display: flex;
  justify-content: center;
}

.services-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 30px;
  max-width: 1200px;
  width: 100%;
}

/* Each service item */
.service-item {
  background-color: rgba(255, 255, 255, 0.1); /* very light white inside boxes */
  border-radius: 10px;
  box-shadow: 0px 4px 10px rgba(0,0,0,0.3);
  overflow: hidden;
  transition: transform 0.3s ease;
}

.service-item:hover {
  transform: translateY(-5px);
}

/* Service images */
.service-item img {
  width: 100%;
  height: 200px;
  object-fit: cover;
}

/* Service text details */
.service-details {
  padding: 20px;
}

.service-details p {
  font-size: 1.2rem;
  font-weight: bold;
  margin-bottom: 10px;
  color: #ffffff;
}

.service-details ul {
  list-style: none;
  padding: 0;
}

.service-details li {
  margin-bottom: 8px;
  font-size: 0.95rem;
  color: #dddddd;
}
/* Reviews Section */
.reviews-section {
  padding: 60px 20px;
   background: url("../images/lightning-bg-new.jpg") no-repeat center center/cover;
  text-align: center;
}

.reviews-section h2 {
  font-size: 2rem;
  margin-bottom: 40px;
  color: #ffffff; /* white */
}

/* Reviews Container */
.reviews-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 30px;
  max-width: 1000px;
  margin: 0 auto;
}

/* Individual Review */
.review-item {
  background-color: #f7f7f7;
  padding: 30px 20px;
  border-radius: 10px;
  box-shadow: 0px 4px 10px rgba(0,0,0,0.1);
  transition: transform 0.3s ease;
}

.review-item:hover {
  transform: translateY(-5px);
}

.review-item p {
  font-style: italic;
  margin-bottom: 15px;
  font-size: 1rem;
  color: #555555;
}

.review-author {
  font-weight: bold;
  font-size: 0.95rem;
  color: #333333;
}
/* Footer Section */
.site-footer {
  background-color: #333333;
  color: #ffffff;
  text-align: center;
  padding: 30px 20px;
  font-size: 0.9rem;
}

.site-footer a {
  color: #ffffff;
  text-decoration: underline;
}

.site-footer a:hover {
  color: #cccccc;
}


/* Back to Top Button */

 .back-to-top {
  position: fixed;             /* stay fixed on screen */
  bottom: 30px;               /* distance from bottom */
  right: 30px;                /* distance from right */
  background-color:#ff6600; 
  color: #ffffff;
  padding: 10px 15px;
  border-radius: 50%;
  text-align: center;
  text-decoration: none;
  font-size: 1.5rem;
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.3);
  opacity: 0;
  visibility: hidden;
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
  z-index: 1000;
}

/* Show button when scrolling down */
.back-to-top.show {
  opacity: 1;
  visibility: visible;
}

/* Hover effect */
.back-to-top:hover {
  background-color: #ff6600; /* bright orange on hover */
  box-shadow: 0 0 10px #ff6600, 0 0 20px #ff6600; /* ghostly orange glow */
}


.generator-section {
  text-align: center;
  padding: 0px 20px 20px 20px;
  background: url("../images/lightning-bg-new.jpg") no-repeat center center/cover;
  color: #ffffff;
}

.generator-section h1 {
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 3px;
  text-shadow: 2px 2px 4px rgba(0,0,0,0.7);
  margin: 0;
}

@media (max-width: 768px) {
  .generator-section h1 {
    font-size: 2.2rem;
  }
}

.button {
  display: inline-block;
  background-color: #ff6600; /* solid orange */
  color: #ffffff;
  font-size: 1.2rem;
  padding: 12px 25px;
  border-radius: 30px;
  text-decoration: none;
  box-shadow: 0 4px 6px rgba(0,0,0,0.2);
  font-weight: bold;
  transition: background-color 0.3s, transform 0.3s;
}

.button:hover {
  background-color: #e65c00;
  transform: scale(1.05);
  box-shadow: 0 0 15px #ff6600, 0 0 20px #ff6600;
}

.back-home-link {
  color: yellow;
  text-decoration: none;
  font-weight: bold;
  font-size: 18px;
  text-shadow: 1px 1px 2px black;
  transition: all 0.3s ease;
}

.back-home-link:hover {
  color: white;
  text-shadow: 0 0 10px yellow;
}

@media (max-width: 480px) {
  .call-button {
    font-size: 1rem;
    padding: 10px 20px;
  }

  .generator-section h1 {
    font-size: 1.8rem;
  }

  .welcome-section h1 {
    font-size: 1.6rem;
  }

  .section-style h2 {
    font-size: 1.6rem;
  }
}

/* Phone Number Banner Styles */
.phone-banner {
  background: url("../images/lightning-bg-new.jpg")  no-repeat center center/cover;
  text-align: center;
  padding: 05px 10px; /* more height */
}

.phone-number {
  font-size: 2.5rem;
  font-weight: bold;
  color: #ff7f27;
  transition: color 0.3s ease, text-shadow 0.3s ease;
  text-decoration: none;
  display: inline-block;
}

.phone-number:hover {
  color: #ffffff;
  text-shadow: 0 0 8px #ff7f27;
}

/* CSS for the Review Form (place this inside your main CSS file, NOT inside <style> tags in HTML) */
.review-form-section {
  background: url("../images/lightning-bg-new.jpg") no-repeat center center / cover;
  padding: 60px 20px;
  text-align: center;
  color: #ffffff;
}

.review-form-section h2 {
  font-size: 2rem;
  margin-bottom: 30px;
  color: #white;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.7);
}

.review-form {
  max-width: 600px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 15px;
  background: rgba(255, 255, 255, 0.9);
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.3);
}

.review-form input,
.review-form select,
.review-form textarea {
  padding: 12px;
  font-size: 1rem;
  border: 1px solid #cccccc;
  border-radius: 6px;
  width: 100%;
  box-sizing: border-box;
}

.review-form button {
  background-color: #ff6600;
  color: #ffffff;
  padding: 12px;
  font-size: 1rem;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: background-color 0.3s;
}

.review-form button:hover {
  background-color: #e65c00;
}

/* Ensure sections are positioned for ::before layering */
.section-style,
.services-section,
.reviews-section,
.review-form-section,
.welcome-section,
.call-button-section {
  position: relative;
  overflow: hidden; /* make sure ::before stays contained */
}

/* Stagger background effect only on even sections */
.section-style:nth-child(even)::before,
.services-section:nth-child(even)::before,
.reviews-section:nth-child(even)::before,
.review-form-section:nth-child(even)::before,
.welcome-section::before,
.call-button-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: inherit;
  background-size: cover;
  background-position: center;
  transform: scaleX(-1);
  z-index: -1; /* stays behind the text and buttons */
}

