/* Existing Styles */

/* Blog Section */
.bl-blog-section {
  padding: 150px 20px;
  background: url("./images/blog.webp") no-repeat center center;
  background-size: cover;
  text-align: center;
  animation: fadeIn 1s ease-in-out;
  position: relative;
}

.bl-section-title {
  font-size: 48px;
  margin-bottom: 40px;
  color: #64dafe;
}

/* Blog Grid */
.bl-blog-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 40px;
  max-width: 1200px;
  margin: 0 auto;
}

/* Blog Card */
.bl-blog-card {
  background: rgba(0, 0, 0, 1); /* Semi-transparent background */
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  animation: bl-slideUp 1s ease-in-out;
}

.bl-blog-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 12px rgba(0, 0, 0, 0.2);
}

/* Blog Image */
.bl-blog-image {
  width: 100%;
  height: 200px;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.bl-blog-image:hover {
  transform: scale(1.05);
}

/* Blog Content */
.bl-blog-content {
  padding: 20px;
  text-align: left;
}

.bl-blog-date {
  font-size: 14px;
  color: #64dafe;
  margin-bottom: 5px;
}

.bl-blog-title {
  font-size: 22px;
  margin-bottom: 15px;
  color: #ffffff;
}

.bl-blog-excerpt {
  font-size: 16px;
  color: #ffffff;
  margin-bottom: 20px;
}

/* Read More Link */
.bl-read-more {
  display: inline-flex;
  align-items: center;
  font-size: 16px;
  color: #64dafe;
  text-decoration: none;
  transition: color 0.3s ease;
}

.bl-read-more:hover {
  color: #4bbbe3;
}

.bl-read-more i {
  margin-left: 5px;
  transition: transform 0.3s ease;
}

.bl-read-more:hover i {
  transform: translateX(5px);
}

/* Detailed Blog Post */
.bl-detailed-post {
  /* Remove existing background and add .transparent-box */
  /* background: rgba(0, 0, 0, 0.7); */
  /* padding: 20px; */
  /* border: 2px solid #000; */
  /* border-radius: 8px; */
  /* max-width: 800px; */
  /* margin: 60px auto; */
  /* text-align: left; */
  /* animation: bl-slideUp 1s ease-in-out; */
  /* Instead, use the reusable class */
}

/* Apply .transparent-box styles to detailed posts */
.transparent-box {
  background: rgba(0, 0, 0, 1); /* Semi-transparent grey background */
  padding: 20px;
  border: 2px solid #000;
  border-radius: 8px;
  max-width: 800px;
  margin: 60px auto; /* Maintain existing margin */
  animation: slideUp 1s ease-in-out;
  color: #fff; /* Ensures text is readable on dark background */
}

/* Ensure text inside the transparent box is styled appropriately */
.transparent-box h2.bl-blog-title {
  font-size: 32px;
  margin-bottom: 10px;
  color: #ffffff; /* Updated for better contrast */
}

.transparent-box p.bl-blog-date {
  font-size: 14px;
  color: #64dafe;
  margin-bottom: 20px;
}

.transparent-box .bl-blog-image {
  width: 100%;
  height: 300px;
  object-fit: cover;
  margin-bottom: 20px;
}

.transparent-box .bl-blog-list {
  list-style: disc inside;
  margin-bottom: 20px;
}

.transparent-box .bl-blog-list li {
  margin-bottom: 10px;
  font-size: 16px;
  color: #fff; /* Updated for better contrast */
}

.transparent-box .bl-back-to-top {
  display: inline-flex;
  align-items: center;
  padding: 10px 20px;
  background-color: #64dafe;
  color: #fff;
  text-decoration: none;
  border-radius: 5px;
  font-size: 16px;
  transition: background 0.3s ease, transform 0.3s ease;
}

.transparent-box .bl-back-to-top:hover {
  background-color: #4bbbe3;
  transform: scale(1.05);
}

.transparent-box .bl-back-to-top i {
  margin-left: 5px;
}

/* Animations */
@keyframes bl-fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes bl-slideUp {
  from {
    transform: translateY(20px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

/* Responsive Design */
@media (max-width: 768px) {
  .bl-blog-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .bl-section-title {
    font-size: 32px;
  }

  .bl-blog-title {
    font-size: 20px;
  }

  .bl-blog-excerpt {
    font-size: 14px;
  }

  .bl-back-to-top {
    font-size: 14px;
    padding: 8px 16px;
  }

  .transparent-box .bl-blog-image {
    height: 200px;
  }
}
/* Fix for small-breakpoint iframe spacing */
@media (max-width: 650px) {
  .transparent-box iframe {
    /* Make the iframe fully responsive */
    display: block;
    max-width: 100%;
    /* Add some horizontal margin so it stays off both borders */
    margin: 0 20px;
    box-sizing: border-box;
  }
}
