body {
  font-family: sans-serif;
  background-color: #111120;
  margin: 0;
}

.btn_wrapper {
  position: relative;
}
/*---------------  FORM Style -------------------*/
.image_form {
  border: 2px solid black;
  display: none;
  flex-direction: column;
  height: 300px;
  width: 300px;
  padding: 30px;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  margin-top: 20px;
  background-color: rgb(7, 10, 76);
  z-index: 10;
  gap: 20px;
  border-radius: 40px;
  
}
.form_title{
  font-size: 30px;
  color: white;

}

.image_form input{
  border-radius: 10px;
  border: none;
  height: 40px;
  font-size: 16px;
  padding: 8px 16px;
  width: 100%;
  box-sizing: border-box;
}
#image_file{
  color: rgb(249, 122, 122);
}
.btn{
  border-radius: 40px;
  border: none;
  font-size: 20px;
  padding: 15px;
  width: 50%;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color:rgb(14, 69, 165);
  color: white;
  
}
/*----------------------------------------------*/
.banner{
  display: flex;
  flex-direction:column;
  justify-content: center;
  align-items: center;
  height: 800px;
  background: linear-gradient(45deg, #580395, #180146, #28036d, #010651, #00000c, #150129, #031880, #3a07a1, #011839);
  background-size: 200% 200%;
  animation: BackgroundGradient 8s ease infinite;
  position: relative;
  margin-bottom: 100px;
  gap: 40px;
}
.banner::before {
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    to bottom,
    transparent 0px,
    transparent 30px,
    rgba(0, 0, 0, 0.2) 31px,
    transparent 33px
  );
  pointer-events: none;
}

/* Keep banner content above the lines */
.banner > * {
  position: relative;
  z-index: 1;
}
@keyframes BackgroundGradient {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

.heading {
  color: rgb(255, 255, 255);
  font-size: 70px;
  animation: slide 0.5s ease-out forwards;

}
.add_image_btn {
  border-radius: 40px;
  font-size: 20px;
  padding: 20px;
  border: none;
  background-color: rgb(14, 69, 165);
  color: white;
  animation: slide 0.7s ease-out forwards;

}
.add_image_btn:hover {
  background-color: rgb(18, 85, 201); /* Darkens the blue */
  color: #eeeef1;            /* Slightly changes text color */
  
}

/*--------- Image Section ---------------------------*/

.gallery_container{
  display:flex;
  height: 600px;
  justify-content: space-evenly;
  align-items: center;

}

.image_container{
  height: 100%;
  width: 60%;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  color: white;
}
.box{
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

.image_header{
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 5px;
  
}
.image{
  flex: 1;
  object-fit: cover;
  display: block;
  min-height: 0;
}
.image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.arrow_btn{
  border-radius: 50%;
  font-size: 30px;
  width: 60px;
  height: 60px;
  padding: 0;
  border: 1px solid rgb(59, 59, 59);
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #161B22;
  color: white;
}
.arrow_btn:hover {
  background-color: #252d38; /* Darkens the blue */
  color: #dfdfe1;            /* Slightly changes text color */
  border: 1px solid rgb(41, 41, 41);

}
.title{
  font-size: 40px;
  color:rgb(255, 255, 255);
  display: flex;
  justify-content: space-between;
  
}
.delete_post{
  justify-self: flex-end;
  border-radius: 10px;
  border: none;
  font-size: 14px;
  padding: 8px 16px;
  width: fit-content;
  margin-left: auto;
  align-self: center;
  background-color: #1F85FF;
  color: white;
}
.delete_post:hover {
  background-color: #1b6bcd; /* Darkens the blue */
  color: #dfdfe1;            /* Slightly changes text color */
  
}
.author{
  font-size: 15px;
  font-style: italic;
  color: rgb(91, 91, 91);
  margin-bottom: 10px;
}

.img_count{
  text-align: center;
  margin-top: 19px;
  margin-bottom: 0px;
  color: white;
}

/*--------- Comment Section ---------------------------*/

.comment_container{
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 65%;
  margin: 30px auto;
  padding: 20px;
  border-radius: 20px;
  box-sizing: border-box;
  color: white;
}

.comment_box{
  width:95%;
  display: flex;
  flex-direction: column;
  gap: 15px;
  align-self: center;
  padding: 15px;
  padding-bottom:30px;
  border:1px solid rgb(50, 50, 63);
  border-radius: 10px;
}

.comment_header{
  font-size: 24px;
  font-weight: bold;
}

.comment{
  display: flex;
  gap: 15px;
  border-bottom: 1px solid rgb(59, 59, 59);
  padding-bottom: 15px;
  margin-top: 10px;

}

.profile_pic{
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: rgb(59, 59, 59);
  flex-shrink: 0;
}

.comment_body{
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.commenter{
  font-weight: bold;
  
}

.content{
  font-size: 16px;
}

.delete_comment{
  border-radius: 10px;
  border: none;
  font-size: 14px;
  padding: 8px 16px;
  width: fit-content;
  margin-left: auto;
  align-self: center;
  background-color: #1F85FF;
  color: white;
}
.delete_comment:hover {
  background-color: #1b6bcd; /* Darkens the blue */
  color: #dfdfe1;            /* Slightly changes text color */
  
}
.add_comment{
  display: flex;
  align-items: center;
  gap: 15px;
}

.profile_icon{
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: rgb(59, 59, 59);
  flex-shrink: 0;
}

.comment_input, .comment_author{
  border-radius: 40px;
  border: none;
  height: 40px;
  font-size: 16px;
  padding: 8px 16px;
  flex: 1;
  box-sizing: border-box;
  background-color:#161B22 ;
  border:1px solid rgb(59, 59, 59);
  color: rgb(255, 255, 255);
}
.comment_input::placeholder, .comment_author::placeholder{
  color: rgb(59, 59, 59);
  opacity: 1;
}
.commenting_section{
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
}
.comment_date{
  font-size: 15px;
  color: rgb(91, 91, 91);

}
.post_comment{
  border-radius: 10px;
  border: none;
  font-size: 16px;
  padding: 12px 24px;
  background-color: #1F85FF;
  color: white;
  cursor: pointer;
}
.post_comment:hover {
  background-color: #1b6bcd; /* Darkens the blue */
  color: #dfdfe1;            /* Slightly changes text color */
  
}

.comment_ctrl{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 10px;
}

.comment_btn{
  border-radius: 10px;
  border: none;
  font-size: 16px;
  padding: 12px 24px;
  background-color: #1F85FF;
  color: white;
}
.comment_btn:hover {
  background-color: #1b6bcd; /* Darkens the blue */
  color: #dfdfe1;            /* Slightly changes text color */
  
}

@keyframes slide {
  from {
    transform:translateY(-100%);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}