@import url("https://fonts.googleapis.com/css2?family=Abril+Fatface&family=Bebas+Neue&family=Carrois+Gothic&family=DM+Serif+Text:ital@0;1&family=Lilita+One&family=Noto+Sans+KR:wght@597&family=Noto+Sans:ital,wght@0,100..900;1,100..900&family=Oswald:wght@200..700&family=PT+Serif:ital,wght@0,400;0,700;1,400;1,700&display=swap");

@media (max-width: 950px) {
  .navbar {
    position: relative !important;
    display: flex !important;
    justify-content: center;
  }
  .class-description {
    min-width: 250px !important;
  }
  .class-photo {
    min-width: 250px !important;
  }
  .nav-list {
    padding-top: 60px;
    display: flex;
    align-items: center;
    justify-content: center !important;
    margin-top: 40px !important;
    gap: 50px;
    margin-left: 0px !important;
  }
  .pricing .price-info {
    grid-template-columns: 1fr; /* 작은 화면에서는 한 열로 표시 */
    gap: 20px;
  }
  .name {
    display: none;
  }
  .class-info {
    padding: 150px 50px 50px 50px !important;
    justify-items: center;
  }
  .class-view {
    padding: 50px !important;
  }
  .class-view .class-o {
    padding: 0px;
    margin-bottom: 50px;
  }
  .class-description .class {
    grid-template-columns: 1fr !important; /* 작은 화면에서 한 열로 표시 */
  }
  .faq-item {
    font-size: 14px !important;
  }
  .class-words {
    padding-left: 50px;
  }
  .reserve {
    padding: 50px !important;
  }
}
@media (max-width: 480px) {
  .nav-list {
    gap: 30px !important;
  }
  .class-description {
    padding: 20px !important;
  }
  .class-description .class ul {
    font-size: 15px;
    line-height: 1.3;
    padding-left: 10px !important;
  }
  .class-words {
    padding: 25px !important;
  }
  .class-description .class p {
    margin-bottom: 10px !important;
  }
  .class-description .class ul li {
    margin-bottom: 5px !important;
  }
  .class-hr {
    margin-top: 0px !important;
  }

  .arrow {
    padding-left: 5px !important;
  }
}

.head {
  position: relative;
  height: auto;
  overflow: hidden;
}
body {
  margin: 0;
  background-color: whitesmoke;
}
/* 비디오 스타일 */
.head video {
  width: 100%;
  height: auto;
  display: block;
}
.navbar .nav-item.active a {
  color: black; /* 강조하고 싶은 색상 */
}
a {
  text-decoration: none;
}
ul {
  list-style-type: none;
  padding: 0;
}
/* 로고 스타일 */
.logo {
  z-index: 10; /* 비디오보다 위에 나타나게 설정 */
  height: 50px;
  width: 100%;
  display: flex;
  position: fixed;
  align-items: center;
  animation: fadeIn 3s ease-out; /* 애니메이션 효과 */
  height: 60px;
  justify-content: center;
  background-color: rgb(49, 83, 83, 0.5);
  padding: 5px;
}
.icon {
  display: flex; /* 또는 display: grid; */
  gap: 10px;
  right: 50px;
  position: absolute;
}
.navbar {
  display: block;
}
@keyframes fadeIn {
  0% {
    opacity: 0; /* 처음에는 투명 */
  }
  100% {
    opacity: 1; /* 완전히 보임 */
  }
}
.navbar {
  width: auto;
  position: absolute;
  z-index: 10;
}
.name {
  font-size: 35px; /* 텍스트 크기를 로고 크기에 맞게 설정 */
  color: white;
  margin-left: 10px; /* 로고와 텍스트 사이 간격 */
  font-weight: bold;
  font-family: "Oswald", serif;
}

.nav-list {
  position: absolute;
  justify-items: flex-start;
  line-height: 1.3;
  margin-top: 25vw;
  margin-left: 6vw;
}

.nav-item a {
  text-decoration: none;
  color: gray;
  font-weight: bold;
  font-size: clamp(23px, 4.5vw, 70px);
  margin-bottom: 0px;
  display: inline-block;
  position: relative;
  font-family: "DM Serif Text", serif;
}
.nav-item a:hover {
  transform: scale(1.1);
}

.nav-item a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 3px;
  background-color: rgb(12, 12, 12);
  transition: width 0.5s ease-in-out;
}

.nav-item a:hover::after {
  width: 100%;
}
/* Class Information Section */
.class-info {
  padding: 120px 150px 100px 450px;
  box-sizing: border-box;
  background: whitesmoke;
}

.class-info h2.title {
  font-size: 2.5em;
  font-weight: bold;
  text-align: center;
  font-family: "DM Serif Text", serif;
}
hr {
  height: 3px;
  background-color: #333;
  border: none;
}
.class-details {
  display: flex;
  margin-top: 20px;
  margin-bottom: 20px;
  justify-content: space-between;
  text-align: center;
}

.class-details .details {
  padding: 20px;
}

.class-details .details h3 {
  font-size: 1.5em;
  color: black;
  margin-bottom: 10px;
}

.class-details .details p {
  font-size: 1.2em;
  color: rgb(62, 59, 59);
}
.ppp {
  font-size: 1.5em;
  font-weight: bold;
  margin-top: 20px;
}
.pppp {
  font-size: 1.2em;
  color: rgb(62, 59, 59);
  font-weight: bold;
  margin-bottom: 15px;
}
.pricing {
  margin-bottom: 40px;
  font-family: "Oswald", serif;
}

.pricing h3 {
  font-size: 25px;
  color: black;
  margin-bottom: 20px;
  text-align: center;
}

.price-info {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  margin-bottom: 40px;
  margin-top: 20px;
  text-align: center;
}

.price-item {
  background-color: white;
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
  flex: 1;
  min-width: 250px;
}

.price-item h4 {
  font-size: 1.8em;
  margin-bottom: 45px;
  color: black;
}
.price-item h5 {
  font-size: 2em;
}

.price-item p {
  font-size: 25px;
  color: rgb(80, 75, 75);
  line-height: 35px;
}

.price-detail {
  display: grid;
  gap: 20px;
  min-width: 250px;
}
.drop-in {
  background-color: white;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
}

.drop-in h4 {
  font-size: 1.5em;
  color: black;
  text-align: center;
  margin-bottom: 0;
}

.drop-in p {
  font-size: 1.2em;
  margin-top: 10px;
  color: black;
  text-align: center;
}
.payment {
  text-align: center;
  background-color: white;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
}

.payment h4 {
  font-size: 1.5em;
  color: black;
  margin-bottom: 0;
}

.payment p {
  font-size: 1.2em;
  color: #070707;
}

/*두번째 섹션 */
.class-view {
  background-color: rgb(49, 83, 83);
  padding-left: 170px;
  padding-right: 170px;
  padding-bottom: 100px;
}
.class-o {
  padding: 100px;
  color: white;
}
.class-o h4 {
  font-size: clamp(25px, 3vw, 40px);
  text-align: center;
  font-family: "DM Serif Text", serif;
  margin-top: 0;
}
.class-o p {
  font-size: clamp(17px, 2vw, 24px);
  font-family: "Carrois Gothic", serif;
  line-height: 1.4;
}
.muscle-m {
  font-size: clamp(17px, 2vw, 24px);
  text-decoration: underline;
  text-decoration-color: rgb(137, 185, 41);
  text-decoration-skip-ink: none;
  color: lightgoldenrodyellow;
}
.class-description {
  display: block;
  background-color: whitesmoke;
  padding: 50px;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
  min-width: 500px;
}

.class-description .class {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
}
.class-description .class h4 {
  font-size: clamp(20px, 2.5vw, 35px);
  margin-bottom: 15px;
  color: rgb(49, 83, 83);
  margin: 0;
  margin-bottom: 10px;
  font-family: "Oswald";
}

.class-description .class ul {
  list-style-type: disc;
  padding-left: 20px;
  color: black;
  margin-top: 0;
  font-family: "Carrois Gothic", serif;
}

.class-description .class p {
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 1.2em;
  color: black;
  margin-bottom: 0;
  font-family: "Carrois Gothic", serif;
}
.class-photo {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-end; /* 하단 고정 */
  height: 100%; /* 부모 요소 높이에 맞추기 */
  min-width: 420px;
}
.class-photo img {
  display: block;
  width: 100%; /* 필요하면 너비를 추가로 조정 */

  max-width: 500px;
  filter: brightness(60%);
}
.class-i {
  position: absolute;
  color: white;
  text-align: center;
  bottom: 40%; /* 사진의 하단 중앙에서 약간 위쪽에 위치 */
  font-size: 28px;
  font-weight: bold;
  font-family: "Oswald", serif;
  transform: translateX(-50%); /* 중앙 정렬을 위한 수평 이동 */
  left: 50%;
}
.class-hr {
  margin-top: 50px;
  margin-bottom: 70px;
  height: 3px;
  border: none;
}
.class-words {
  align-content: center;
}
.class-view {
  opacity: 0;

  transition: opacity 1.5s ease;
}

.class-view.visible {
  opacity: 1;
}

/* FAQ 섹션 스타일 */
.faq {
  padding: 20px 20px;
  margin: 70px auto 0;
  max-width: 800px;
}

.faq h3 {
  font-size: 2.5em;
  color: #333;
  text-align: center;
  margin-bottom: 80px;
}

.faq-item {
  margin-bottom: 15px;
  border-bottom: 1px solid #ddd;
  padding-bottom: 15px;
  font-size: 18px;
}

.faq-question {
  width: 100%;
  padding: 15px;
  font-size: 1.2em;
  text-align: left;
  background: none;
  color: #333;
  border: none;
  outline: none;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 500;
  transition: color 0.3s ease;
  padding-left: 40px;
  padding-right: 40px;
}

.faq-question:hover {
  color: #4a6fa5;
}

.arrow {
  font-size: 1.5em;
  transition: transform 0.2s ease;
}
.rotate {
  transform: rotate(180deg); /* 180도 회전 */
}

.faq-answer {
  padding: 15px;
  background-color: #fff;
  color: #333;
  display: none; /* 기본적으로 숨김 */
  border-radius: 5px;
  margin-top: 5px;
  font-size: 1em;
  line-height: 1.5em;
  padding-left: 40px;
  padding-right: 40px;
}
/*푸터*/
.reserve {
  padding: 50px 100px 50px 100px;
  text-align: center;
  font-family: "Carrois Gothic", serif;
  color: rgb(145, 142, 142);
  font-size: clamp(10px, 1vw, 18px);
}
.footerhr {
  margin-bottom: 20px;
  height: 1px;
  background-color: rgb(145, 142, 142);
}

.coming-soon {
  background-color: #d3d3d3; /* 연한 회색 배경 */
  color: #888; /* 어두운 회색 텍스트 */
  position: relative;
  text-align: center;
  padding: 30px;
  margin-bottom: 50px;
  border-radius: 10px;
}

.coming-soon::after {
  content: "COMING SOON";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: rgba(0, 0, 0, 0.7);
  color: white;
  padding: 5px 10px;
  font-weight: bold;
  font-size: 14px;
  border-radius: 5px;
}
