/* === General Reset === */
* { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; }

/* === Header === */
header {
  background: #1a1919;
  color: white;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 40px;
  position: sticky;
  top: 0;
  z-index: 1000;
  box-shadow: 0 2px 8px rgba(138,134,134,0.7);
}
header .logo { font-weight: 700; font-size: 1.8rem; }

/* Hamburger */
.hamburger { display: none; flex-direction: column; gap: 5px; background: none; border: none; cursor: pointer; }
.hamburger span { display: block; width: 25px; height: 3px; background: white; border-radius: 3px; }

/* Nav */
header nav ul { list-style: none; display: flex; gap: 25px; flex-wrap: wrap; }
header nav ul li a { color: white; text-decoration: none; font-weight: 600; font-size: 1rem; transition: color 0.3s ease; }
header nav ul li a:hover { color: #F39C12; }

/* === Hero === */
.hero { background: url('imgs/wall5.jpg') no-repeat center center/cover; height: 90vh; display: flex; align-items: center; justify-content: center; text-align: center; color: white; padding: 0 20px; }
.hero-text h1 { font-size: 3.5rem; margin-bottom: 15px; text-shadow: 2px 2px 8px rgba(0,0,0,0.8); }
.hero-text p { font-size: 1.4rem; margin-bottom: 30px; text-shadow: 1px 1px 5px rgba(0,0,0,0.7); }

/* === Buttons === */
.btn { display: inline-block; padding: 12px 20px; border-radius: 6px; font-weight: bold; text-decoration: none; text-align: center; transition: all 0.3s ease; -webkit-tap-highlight-color: transparent; }
.btn.primary { background: #007bff; color: #fff; border: 2px solid #007bff; }
.btn.primary:hover { background: #fff; color: #000; border: 2px solid #007bff; }
.btn.gallery { background: #007bff; color: #fff; border: 2px solid #007bff; }
.btn.gallery:hover { background: #fff; color: #000; border: 2px solid #007bff; }

/* Hero buttons layout */
.hero-buttons { display: flex; gap: 15px; justify-content: center; margin-top: 20px; }
.gallery-btn-container { margin-top: 25px; text-align: center; }

/* === Testimonials === */
.testimonials { background: #ece7e7; padding: 20px 0; overflow: hidden; border-top: 2px solid #e0e0e0; border-bottom: 2px solid #e0e0e0; }
.testimonials-track { display: flex; gap: 50px; white-space: nowrap; animation: scroll-left 25s linear infinite; }
.testimonials-track p { min-width: max-content; font-style: italic; color: #333; font-size: 1rem; }
@keyframes scroll-left { 0%{transform: translateX(100%);} 100%{transform: translateX(-100%);} }

/* === Footer === */
.site-footer { background: #222; color: #f3f3f3; padding: 40px 20px 0; }
.footer-content { max-width: 1200px; margin: 0 auto; display: flex; gap: 40px; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; }
.footer-contact h3, .footer-services h3 { color: #007bff; margin-bottom: 12px; }
.footer-contact p a { color: #f3f3f3; text-decoration: none; }
.footer-contact p a:hover { color: #F39C12; }
.footer-services ul { list-style: none; padding: 0; margin: 0; }
.footer-services li { margin-bottom: 8px; }
.footer-services a { color: #fff; text-decoration: none; }
.footer-services a:hover { color: #F39C12; }
.footer-bottom { text-align: center; margin-top: 22px; padding: 14px 0 18px; border-top: 1px solid rgba(255,255,255,0.15); font-size: 0.92rem; color: #cfcfcf; }

/* === Floating Social Buttons === */
.social-stack {
  position: fixed;
  right: 20px;  /* always bottom-right */
  left: auto;
  bottom: 30px;
  display: flex;
  flex-direction: column;
  gap: 15px;
  z-index: 10000;
}
.social-stack a {
  width: 55px;
  height: 55px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.8rem;
  color: #fff;
  text-decoration: none;
  box-shadow: 0 3px 10px rgba(0,0,0,.5);
  transition: 0.3s;
}
.whatsapp-float { background: #15e662; }
.facebook-float { background: #3861b9; }
.social-stack a:hover { opacity: 0.8; }

/* === Mobile Styles === */
@media (max-width: 768px) {
  header { padding: 15px 20px; }
  .hamburger { display: flex; }

  header nav {
    position: absolute;
    top: 70px;
    left: 0;
    width: 100%;
    background: #1a1919;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
    z-index: 999;
  }
  header nav ul {
    flex-direction: column;
    gap: 15px;
    padding: 15px 20px;
  }
  header nav.active { max-height: 500px; }

  /* Hamburger animation lines */
  .hamburger.open span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
  .hamburger.open span:nth-child(2) { opacity: 0; }
  .hamburger.open span:nth-child(3) { transform: rotate(-45deg) translate(6px, -6px); }

  /* Hero buttons fade/slide in */
  .hero-buttons a,
  .gallery-btn-container a {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.5s ease, transform 0.5s ease;
  }

  .hero-buttons.show a,
  .gallery-btn-container.show a {
    opacity: 1;
    transform: translateY(0);
  }

  /* Stack hero buttons */
  .hero-buttons { flex-direction: column; gap: 15px; align-items: center; }
  .hero-buttons a,
  .gallery-btn-container a { width: 80%; max-width: 300px; text-align: center; }
  .gallery-btn-container { margin-top: 15px; }

  /* Social icons - bottom-right & smaller on mobile */
  .social-stack { right: 20px; left: auto; bottom: 20px; gap: 12px; }
  .social-stack a { width: 45px; height: 45px; font-size: 1.5rem; }
}




