@import url("https://fonts.googleapis.com/css2?family=Lexend:wght@100..900&display=swap");

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  background: white;
}

.header,
.footer {
  width: 100%;
  background: #2ea7ad;
  display: flex;
  justify-content: center;

  img {
    width: 100%;
    max-width: 1170px;
  }
}
.footer {
  background: #29969b;
}

.bepanthen {
  * {
    font-family: "Lexend", sans-serif;
    text-decoration: none;
  }

  .row {
    display: flex;
    align-items: center;
  }
  .col {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .cta_btn {
    background-color: #234d96;
    color: white;
    padding: 10px 15px;
    font-weight: normal;
  }

  .skeleton {
    background: grey;
    animation: skeleton 1s infinite;
  }

  .content {
    width: 100%;
    max-width: 1210px;
    margin: 0 auto;
    padding: 20px;

    h2 {
      color: #234d96;
      font-size: 36px;
      margin: 40px 0;
      margin-top: 60px;
      text-align: center;
    }

    .banner {
      background-color: red;
      img {
        width: 100%;
      }
    }

    .video {
      margin: 20px 0;
      width: 100%;
      height: 400px;
      border: none;
    }

    .voucher {
      margin-bottom: 30px;
      img {
        width: 100%;
      }
    }

    hr {
      width: 100%;
      margin: 30px 0;
      border: 1px solid rgb(240, 240, 240);
    }

    .info_banner {
      margin-bottom: 30px;
      gap: 30px;
      width: 100%;
      flex-wrap: wrap;
      .story {
        min-width: 300px;
        flex: 1;
        border: solid 1px rgb(240, 240, 240);
        background-color: white;
        img {
          width: 100%;
        }

        .col {
          padding: 20px;
          align-items: stretch;

          h3 {
            color: #234d96;
            font-size: 36px;
            text-align: center;
          }
          .cta_btn {
            align-self: flex-end;
            margin-top: 20px;
          }
        }
      }
    }
  }

  .mmcbt {
    width: 100%;
    align-items: stretch;
    gap: 15px;
    margin-bottom: 40px;

    .stars {
      img {
        width: 20px;
      }
    }

    .cta_btn {
      background-color: #ec1c24;
    }

    .product_info {
      flex: 1;
      align-items: stretch;
      .product_img {
        width: 300px;
      }

      .info {
        padding: 20px;
        background-color: #f6f6f6;
        border: solid 1px #f0f0f0;

        align-items: start;
        flex: 1;
        position: relative;
        h3 {
          color: #8f5a24;
          font-size: 20px;
          margin: 0;
          margin-bottom: 10px;
          padding-right: 200px;
        }

        .reviews {
          color: #8f5a24;
          width: 100%;
          margin-bottom: 20px;
          margin-left:2px;
          .stars {
            margin: 0 10px;
          }
        }

        .mmcbt_review {
          align-items: stretch;
          border: solid 1px #f0f0f0;
          background-color: white;
          padding: 15px 20px;
          flex: 1;
          width: 100%;

          .user_row {
            padding: 10px 0;
            border-bottom: solid 1px #f0f0f0;
            /* margin-bottom: 15px; */
            gap: 5px;
            margin: 0 0 15px 0;

            .avatar {
              width: 25px;
              height: 25px;
              background-color: #00b4b8;
              border-radius: 999px;
              color: white;
              justify-content: center;
              margin-right: 5px;
            }
            .stars {
              margin-left: auto;
            }
          }

          strong {
            color: black;
            font-size: 20px;
          }
          p {
            color: #818181;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 2;
            overflow: hidden;
            text-overflow: ellipsis;
          }

          .read_more {
            color: #56a5de;
            font-size: 14px;
            text-decoration: underline;
          }
        }
        /* 
        .attr_list {
          align-items: stretch;
          margin: 15px 0;
          width: 100%;
          gap: 5px;

          .attr {
            color: #b48c65;
            font-size: 16px;
            .stars {
              margin-left: auto;
            }
          }
        } */

        .cta_btn {
          position: absolute;
          right: 20px;
          top: 20px;
        }
      }
    }

    .product_desc {
      align-items: start;
      background-color: #fffaeb;
      color: #818181;
      padding: 20px;
      h3 {
        color: #8f5a24;
        font-size: 20px;
        margin: 0;
        margin-bottom: 10px;
      }
    }

    .review_carousel {
      margin-top: 10px;
      width: 100%;
      gap: 20px;
      align-items: stretch;
      position: relative;
      padding-top: 50px;

      .custom_nav {
        position: absolute;
        top: 0;
        right: 0;
        gap: 5px;

        .cta_btn {
          background-color: #00b4b8;
          cursor: pointer;
        }
      }

      .read_all {
        position: absolute;
        left: 0;
        top: 0;
      }

      .all_review {
        background: url("./assets/mmcbt_bg.jpg");
        background-size: cover;
        padding: 20px 0;
        img {
          width: 300px;
          padding: 20px;
        }
        .cta_btn {
          margin-top: auto;
        }
      }
    }
  }

  .mmcbt_list {
    width: 100%;
  }

  .mmcbt_skeleton {
    min-height: 200px;
    width: 100%;
  }

  .ig_skeleton {
    width: 100%;
    gap: 20px;
    .skeleton {
      flex: 1;
      aspect-ratio: 5 / 6;
    }
  }

  .ig_grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    width: 100%;
    gap: 10px;
    .ig_post {
      border: solid 1px #cacaca;
      padding: 5px;
      align-items: stretch;
      font-size: 14px;
      position: relative;

      .ig_btn {
        position: absolute;
        right: 12px;
        top: 12px;
        align-self: flex-end;
        z-index: 2;
        img {
          width: 20px;
        }
      }

      .hashtag {
        font-size: 12px;
        color: grey;
        flex: 1;
        margin-bottom: 10px;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
        text-overflow: ellipsis;
      }

      .media {
        width: 100%;
        aspect-ratio: 1 / 1;
        margin-bottom: 10px;
        object-fit: cover;
        pointer-events: none;
      }

      span {
        color: grey;
      }
    }
  }
}

@keyframes skeleton {
  0% {
    background-color: rgb(240, 240, 240);
  }
  50% {
    background-color: rgb(225, 225, 225);
  }
  100% {
    background-color: rgb(240, 240, 240);
  }
}

@media only screen and (max-width: 768px) {
  .bepanthen {
    .content {
      width: 90%;
    }

    .mmcbt {
      .product_info {
        .product_img {
          width: 200px;
          object-fit: cover;
        }
      }
    }
    .ig_skeleton {
      .skeleton:first-child {
        display: none;
      }
    }

    .ig_grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
      gap: 5px;
    }
  }
}

@media only screen and (max-width: 500px) {
  .bepanthen {
    .mmcbt {
      .product_info {
        flex-direction: column;
        .product_img {
          width: 100%;
        }

        .info {
          h3 {
            padding: 0;
          }
          .cta_btn {
            margin-top: 15px;
            position: static;
            width: 100%;
            text-align: center;
          }
        }
      }
    }
  }
}
