
    body { font-family: Arial, sans-serif; }

    /* Hero Section */
/* Hero Section */
/* Hero Section */
.hero {
    background: linear-gradient(135deg, #2f71eb, #2a5298); 
    color: #fff;
    text-align: center;
    
    /* CHANGE: Reduced vertical padding (40px to 20px) for minimal height */
    padding: 20px 20px; 
    
    border-radius: 20px;
    
    /* Kept the width wide as requested previously */
    max-width: 1400px; 
    
    margin: 40px auto;
    box-shadow: 0 6px 20px rgba(0,0,0,0.15);
    position: relative;
    overflow: hidden;
}

.hero h1 {
    /* Kept the same */
    font-size: 2.8rem;
    font-weight: 700;
    margin-bottom: 15px;
    background: linear-gradient(to right, #ffdd57, #ff6f61);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.hero p {
    /* Kept the same */
    font-size: 1.2rem;
    color: #f0f0f0;
    max-width: 700px;
    margin: 0 auto;
}

/* Decorative circles */
.hero::before,
.hero::after {
    /* Kept the same */
    content: "";
    position: absolute;
    border-radius: 50%;
    opacity: 0.15;
}

.hero::before {
    /* Kept the same */
    width: 200px;
    height: 200px;
    background: #fff;
    top: -60px;
    left: -60px;
}

.hero::after {
    /* Kept the same */
    width: 300px;
    height: 300px;
    background: #ffd700;
    bottom: -80px;
    right: -80px;
}


    /* Reviews */
    .reviews-section { padding: 50px 20px; text-align: center; }
    .reviews-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
      gap: 20px; margin-top: 30px;
    }
    .review-card {
      background: #fff;
      border-radius: 12px;
      padding: 20px;
      box-shadow: 0 4px 10px rgba(0,0,0,0.1);
      display: flex; align-items: flex-start;
      gap: 15px; text-align: left;
    }
    .review-card img {
      width: 60px; height: 60px;
      border-radius: 50%; object-fit: cover;
      flex-shrink: 0;
    }
    .stars { color: gold; font-size: 0.9rem; }

    /* Gallery */
    .gallery-section { padding: 50px 20px; background: #fafafa; text-align: center; }
    .gallery-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
      gap: 15px; margin-top: 30px;
    }
    .gallery-grid img {
      width: 100%; border-radius: 12px;
      box-shadow: 0 4px 8px rgba(0,0,0,0.1);
      transition: transform 0.3s ease;
    }
    .gallery-grid img:hover { transform: scale(1.05); }

    /* Review Form */
    .review-form {
  margin-top: 40px;
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
  background: #dfffe0; 
  padding: 25px;
  border-radius: 12px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}
    .review-form h3 { margin-bottom: 15px; }
    .review-form input, .review-form textarea {
      width: 100%; padding: 12px; margin: 8px 0;
      border: 1px solid #ccc; border-radius: 8px;
    }
    .review-form input[type="file"] { padding: 5px; border: none; }
    .review-form button {
      background: #ff416c; color: #fff;
      padding: 12px 20px; border: none;
      border-radius: 8px; cursor: pointer;
      transition: background 0.3s;
    }
    .review-form button:hover { background: #e63e5a; }

    /* Star Rating */
    .star-rating { display: inline-block; }
    input.star { display: none; }
    label.star {
      float: right;
      padding: 10px;
      font-size: 28px;
      color: #4A148C;
      transition: all .2s;
      cursor: pointer;
    }
    input.star:checked ~ label.star:before {
      content: '\f005';
      color: #FD4;
      transition: all .25s;
    }
    input.star-5:checked ~ label.star:before {
      color: #FE7;
      text-shadow: 0 0 20px #952;
    }
    input.star-1:checked ~ label.star:before { color: #F62; }
    label.star:hover { transform: rotate(-15deg) scale(1.3); }
    label.star:before {
      content: '\f006';
      font-family: FontAwesome;
    }

    .review-content h3 { margin: 0; font-size: 1rem; }
    .review-content p { font-size: 0.95rem; margin-top: 5px; }
  








/* Submit Button Styling */
.review-form button[type="submit"] {
  background: linear-gradient(to right, #00c6ff, #0072ff);
  color: #fff;
  padding: 12px 20px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.3s, transform 0.3s ease;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}

.review-form button[type="submit"]:hover {
  background: linear-gradient(to right, #0072ff, #00c6ff);
  transform: scale(1.05);
}








/* Hide the ugly default file input */
input[type="file"].custom-file-input {
  display: none !important;
}

/* Style the label to look like a button */
.custom-file-label {
  display: inline-block;
  padding: 10px 18px;
  background-color: lightskyblue;
  color: #fff;
  border-radius: 8px;
  cursor: pointer;
  font-weight: bold;
  transition: background 0.3s ease, box-shadow 0.3s ease;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}

/* File name next to button */
.file-name-text {
  margin-left: 10px;
  font-style: italic;
  font-size: 0.9em;
  color: #444;
}

.custom-file-input-container {
  display: flex;
  align-items: center;
  gap: 15px;
}
/* Hide the ugly default input */
.file-upload-input {
  display: none !important;
}

/* Style the label like a button */
.file-upload-btn {
  display: inline-block;
  padding: 10px 18px;
  background: lightskyblue;
  color: #fff;
  border-radius: 8px;
  cursor: pointer;
  font-weight: bold;
  transition: background 0.3s ease, box-shadow 0.3s ease;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}

.file-upload-btn:hover {
  background: deepskyblue;
  transform: translateY(-2px);
  box-shadow: 0 6px 12px rgba(0,0,0,0.3);
}

/* File name text */
.file-name-text {
  margin-left: 10px;
  font-style: italic;
  font-size: 0.9em;
  color: #444;
}

/* Keep button + filename inline */
.file-upload-container {
  display: flex;
  align-items: center;
  gap: 15px;
}
