/* Page Specific Styles */
/* Home Page Styles */
/* Banner Styles */
.banner {
  padding-bottom: 0;
}
.banner img {
  width: 100%;
  height: 500px;
  object-fit: cover;
  display: block;
}
/* Award Section Styles */
.awards-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
}
.awards-section > div:first-child {
  width: 100%;
  display: flex;
  justify-content: center;
}
.awards-section > div:first-child img {
  width: 100%;
  max-width: 800px;
  height: auto;
}
.awards-text {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 900px;
}
.awards-text h2 {
  margin-bottom: 2rem;
  margin-top: 2rem;
}
.awards-text-flex {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  width: 100%;
  max-width: 900px;
}
.awards-text-flex p {
  max-width: 45ch;
  margin: 0;
}

/* Services Section Styles */
.services-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
}
.service-items {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
  max-width: 1200px;
}
.service {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 2rem;
}
.service img {
  width: 50px;
  height: 50px;
}

/* mid section about styles */
.mid-section-about {
  max-width: 1200px;
  margin: 0 auto;
}
.mid-section-content {
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
}
.mid-section-content img {
  width: clamp(300px, 100%, 500px);
}
.mid-section-text {
  display: flex;
  flex-direction: column;
}
.mid-section-text h2 {
  margin-bottom: 1rem;
  font-size: 2rem;
}
/* Call to Action Styles */
.call-to-action-content {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  margin-top: 2rem;
  width: clamp(300px, 100%, 600px);
  margin: 0 auto;
  text-align: center;
}
.call-to-action-content h2 {
  margin-bottom: 1rem;
}
.btn {
  display: inline-block;
  padding: 0.5rem 1rem;
  text-decoration: none;
  border-radius: 4px;
}
/* Fabric Partners Section Styles */
.fabric-partner-section {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.fabric-partner-section h2 {
  margin-bottom: 1rem;
}
.fabric-partner-section p {
  margin-bottom: 2rem;
}
.fabric-partners {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

/* ===== OUR WORK PAGE ===== */
.our-work-page {
  padding-top: 3rem;
}
.work-section {
  max-width: 1000px;
  margin: 0 auto;
}
.work-intro {
  max-width: 1200px;
  margin-bottom: 3rem;
  margin: 0 auto;
}
.work-intro h2 {
  text-align: center;
}
.work-intro p {
  max-width: 700px;
}
.work-gallery {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 20px;
}
.work-item img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.work-gallery img {
  cursor: pointer;
}
/* LIGHTBOX OVERLAY */
.lightbox {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.9);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}
.lightbox-img {
  max-width: 90%;
  max-height: 80%;
}
.lightbox .close {
  position: absolute;
  top: 20px;
  right: 30px;
  font-size: 40px;
  color: white;
  cursor: pointer;
}
.lightbox-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 50px;
  color: white;
  cursor: pointer;
  user-select: none;
}
.prev {
  left: 30px;
}
.next {
  right: 30px;
}

/* ===== OUR CLIENTS PAGE ===== */
.clients-section {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
}
.clients-inner h2 {
  margin-bottom: 3rem;
}
.client-gallery ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px 30px;
  text-align: left;
}
.client-gallery li {
  position: relative;
  padding-left: 14px;
  font-size: 0.95rem;
  color: #333;
}
.client-gallery li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: #bbb;
}

/* ===== CONTACT US PAGE ===== */
.contact-page-inner {
  display: grid;
  margin: 0 auto;
  grid-template-columns: 1fr;
  max-width: 1000px;
  padding-bottom: 2rem;
}
.contact-page {
  padding-top: 1rem;
}
.contact-section {
  align-items: center;
}
.contact-bubble {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 2rem;
}
.contact-bubble:nth-of-type(2) div {
  display: flex;
  flex-direction: row;
  gap: 20px;
}
.contact-info {
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  padding: 2rem 0 4rem;
  gap: 20px;
}
.contact-info img {
  width: 50px;
  height: 50px;
}
.contact-intro {
  margin-bottom: 2rem;
  color: #555;
}
.contact-text {
  max-width: 1000px;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin: 0 auto 2rem;
}
.tail {
  font-size: 0.95rem;
  color: #666;
  line-height: 1.5;
}
.map-inner {
  margin: 0 auto;
  text-align: center;
}
.map-section iframe {
  width: 100%;
  height: 350px;
  border: 0;
  border-radius: 8px;
}
/* mobile stacking */
@media (max-width: 768px) {
  .banner img {
    height: 250px;
  }
  .awards-text-flex {
    flex-direction: column;
    text-align: center;
  }
  .service-items {
    padding: 0 1rem;
  }
  .mid-section-about,
  .work-section,
  .clients-section,
  .contact-section,
  .map-section,
  .awards-section {
    padding-right: 1rem;
    padding-left: 1rem;
  }
  .mid-section-text {
    text-align: center;
  }
  .mid-section-text h2 {
    margin-top: 1rem;
  }
  .call-to-action-content {
    padding: 0 1rem;
  }
  /* ===== OUR WORK PAGE ===== */

  /* ===== OUR CLIENTS PAGE ===== */

  /* ===== CONTACT US PAGE ===== */
  .contact-section {
    margin-bottom: 2rem;
  }
  .contact-page-inner {
    padding-bottom: 3rem;
  }
  .contact-text {
    margin-top: 3rem;
    padding: 0 1rem;
  }
}

@media (min-width: 900px) {
  .service-items {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
  .mid-section-content {
    grid-template-columns: repeat(2, 1fr);
  }
  .fabric-partners {
    display: grid;
    grid-template-columns: repeat(10, 1fr);
    gap: 50px;
  }
  .fabric-partners > * {
    grid-column: span 2;
  }
  .fabric-partners > :nth-child(6) {
    grid-column: 2 / span 2;
  }
  /* ===== OUR WORK PAGE ===== */
  .work-gallery {
    grid-template-columns: repeat(3, 1fr);
  }
  .our-work-page {
    padding-top: 5rem;
  }

  /* ===== OUR CLIENTS PAGE ===== */
  .client-gallery ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px 60px;
  }

  /* ===== CONTACT US PAGE ===== */
  .contact-page-inner {
    grid-template-columns: repeat(2, 1fr);
    padding-bottom: 5rem;
  }
  .contact-page {
    padding-top: 4rem;
  }
}
