@import url('https://fonts.googleapis.com/css?family=League+Spartan&display=swap');

/* Global Reset */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: 'League Spartan', sans-serif;
}

/* Typography */
h1 { font-size: 50px; line-height: 64px; color: #222; }
h2 { font-size: 46px; line-height: 54px; color: #222; }
h4 { font-size: 20px; color: #222; }
h6 { font-weight: 700; font-size: 12px; }
p { font-size: 16px; color: #465b52; margin: 15px 0 20px 0; }

.section-p1 { padding: 40px 80px; }
.section-m1 { margin: 40px 0; }

body { width: 100%; }

/* Header */
#header {
  display: flex;
  height: 100px;
  align-items: center;
  justify-content: space-between;
  padding: 20px 80px;
  background: #E3E6F3;
  box-shadow: 0 15px rgba(0, 0, 0, 0.06);
  z-index: 999;
  position: sticky;
  top: 0;
  left: 0;
}

#navbar {
  display: flex;
  align-items: center;
  justify-content: center;
}

#navbar li {
  list-style: none;
  padding: 0 20px;
  position: relative;
}

#navbar li a {
  text-decoration: none;
  font-size: 16px;
  font-weight: 600;
  color: #1a1a1a;
  transition: 0.3s ease;
}

#navbar li a:hover,
#navbar li a:active {
  color: #088178;
}

#navbar li a.active::after,
#navbar li a:hover::after {
  content: "";
  width: 30%;
  height: 2px;
  background: #088178;
  position: absolute;
  bottom: -4px;
  left: 20px;
}

/* Product Details Section */
#prodetails {
  display: flex;
  margin-top: 40px;
  justify-content: space-between;
}

#prodetails .single-pro-image {
  width: 40%;
  margin-right: 50px;
}

#prodetails .image-gallery {
  width: 100%;
  text-align: center;
}

#prodetails .main-image-container {
  position: relative;
  overflow: hidden;
}

#prodetails input[type="radio"] {
  display: none;
}

#prodetails .main-img-wrapper {
  width: 100%;
  height: auto;
  position: relative;
  margin-bottom: 10px;
}

#prodetails .main-img-wrapper img {
  display: none;
  width: 100%;
  border-radius: 8px;
  object-fit: cover;
}

#prodetails #img1:checked ~ .main-img-wrapper .img1,
#prodetails #img2:checked ~ .main-img-wrapper .img2,
#prodetails #img3:checked ~ .main-img-wrapper .img3,
#prodetails #img4:checked ~ .main-img-wrapper .img4 {
  display: block;
}

#prodetails .small-img-group {
  display: flex;
  justify-content: space-between;
  gap: 1%;
}

#prodetails .small-img-col {
  flex-basis: 24%;
  cursor: pointer;
  border: 2px solid transparent;
  border-radius: 6px;
  transition: border 0.3s;
}

#prodetails .small-img-col img {
  width: 100%;
  border-radius: 4px;
  object-fit: cover;
  display: block;
}

#prodetails #img1:checked ~ .main-img-wrapper ~ .small-img-group .col1,
#prodetails #img2:checked ~ .main-img-wrapper ~ .small-img-group .col2,
#prodetails #img3:checked ~ .main-img-wrapper ~ .small-img-group .col3,
#prodetails #img4:checked ~ .main-img-wrapper ~ .small-img-group .col4 {
  border: 2px solid #088178;
}

/* Product Details Text */
#prodetails .single-pro-details {
  width: 50%;
  padding-top: 30px;
}

#prodetails .single-pro-details h4 {
  padding: 40px 0 20px 0;
  font-size: 26px;
}

#prodetails .single-pro-details h2 {
  font-size: 32px;
  color: #088178;
  margin-bottom: 20px;
}

#prodetails .single-pro-details select {
  display: block;
  padding: 5px 10px;
  margin-bottom: 20px;
}

#prodetails .single-pro-details input {
  width: 60px;
  height: 40px;
  padding-left: 10px;
  font-size: 16px;
  margin-right: 10px;
  border: 1px solid #ccc;
}

#prodetails .single-pro-details input:focus {
  outline: none;
}

#prodetails .single-pro-details button.normal {
  background-color: #088178;
  color: #fff;
  border: none;
  padding: 12px 30px;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.3s;
}

#prodetails .single-pro-details button.normal:hover {
  background-color: #065e58;
}

#prodetails .single-pro-details span {
  line-height: 25px;
  color: #465b52;
  font-size: 15px;
}

/* Responsive Product Section */
@media (max-width: 768px) {
  #prodetails {
    flex-direction: column;
  }
  #prodetails .single-pro-image,
  #prodetails .single-pro-details {
    width: 100%;
  }
  #prodetails .single-pro-image {
    margin-right: 0;
  }
}

/* Product Grid */
.products-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
  align-items: stretch;
}

.product-card {
  background: #fff;
  border-radius: 14px;
  padding: 22px;
  box-shadow: 0 6px 18px rgba(20, 20, 20, 0.06);
  transition: transform 220ms cubic-bezier(.2, .8, .2, 1), box-shadow 220ms;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.product-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 18px 40px rgba(20, 20, 20, 0.10);
}

.product-card img {
  width: 100%;
  border-radius: 12px;
  margin-bottom: 12px;
  object-fit: cover;
}

.product-title {
  font-size: 18px;
  margin: 12px 0 8px;
  color: #1f3430;
  line-height: 1.1;
}

.product-title a {
  color: inherit;
  text-decoration: none;
}

.product-price {
  font-size: 16px;
  color: #5c6b64;
  margin-bottom: 16px;
}

.btn-primary {
  background-color: #2b8a74;
  color: white;
  padding: 10px 24px;
  border: none;
  border-radius: 8px;
  font-size: 15px;
  cursor: pointer;
  transition: background-color 200ms;
}

.btn-primary:hover {
  background-color: #237058;
}

@media (max-width: 1100px) {
  .products-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .section-p1 { padding: 24px 20px; }
  .products-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

/* Footer */
footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  background-color: #f5f5f5;
  padding: 60px 80px;
}

footer .col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: 20px;
}

footer h4 {
  font-size: 18px;
  margin-bottom: 20px;
  color: #222;
}

footer p {
  font-size: 14px;
  margin: 0 0 8px;
  color: #465b52;
}

footer a {
  font-size: 14px;
  text-decoration: none;
  color: #465b52;
  margin-bottom: 10px;
  transition: color 0.3s ease;
}

footer a:hover {
  color: #088178;
}

footer .follow {
  margin-top: 20px;
}

footer .follow i {
  color: #465b52;
  padding-right: 8px;
  cursor: pointer;
  transition: color 0.3s ease;
}

footer .follow i:hover {
  color: #088178;
}

footer .install .row img {
  border: 1px solid #088178;
  border-radius: 6px;
  width: 120px;
  margin-right: 10px;
}

footer .install img {
  margin: 10px 0 15px;
}

footer .copyright {
  width: 100%;
  text-align: center;
  border-top: 1px solid #eaeaea;
  margin-top: 40px;
  padding-top: 20px;
  font-size: 13px;
  color: #465b52;
}

@media (max-width: 768px) {
  footer {
    flex-direction: column;
    padding: 40px 20px;
  }
  footer .col {
    width: 100%;
    margin-bottom: 30px;
  }
  footer .install .row img {
    width: 100px;
  }
}
