@import url('https://fonts.googleapis.com/css2?family=Crimson+Pro:ital,wght@0,200..900;1,200..900&display=swap');

:root {
  --base: #C9A66B;
  --base2: #fff;
  --highlight: #e0b66c;
}

html {
  scroll-behavior: smooth;
}

body {
  padding: 0;
  margin: 0;
  border: 0;
  text-align: center;
  justify-content: center;
}

p {
  font-family: "Crimson Pro", serif;
  font-weight: 800;
}

.bar-menu {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1cqw;
  margin: 0;
}

.logo {
  margin: 3cqh auto auto auto;
  display: block;
  width: 15cqw;
  aspect-ratio: 3/1;
  background-image: url("https://placehold.co/300x100/png");
  background-size: 100% 100%;
  background-repeat: no-repeat;
}

.bar-menu .menu-button {
  position: relative;
  margin: 0 1cqw;
  color: #000;
  font-family: "Crimson Pro", serif;
  font-weight: 800;
  font-size: 2cqw;
  text-decoration: none;
  transition: color 0.3s ease;
}

.bar-menu .menu-button::after {
  content: "";
  position: absolute;
  bottom: -0.25cqw;
  left: 50%;
  width: 0;
  height: 0.1cqw;
  background-color: var(--base);
  transform: translateX(-50%);
  transition: width 0.3s ease;
}

.bar-menu .menu-button:hover {
  color: var(--base);
}

.bar-menu .menu-button:hover::after {
  width: 100%;
}

.bar-menu .highlight-button {
  font-family: "Crimson Pro", serif;
  font-weight: 800;
  font-size: 2cqw;
  text-decoration: none;
  padding: 1cqw 1cqw;
  border: 2px solid var(--base);
  color: #fff;
  border-radius: 5cqw;
  background-color: var(--base);
  transition: border-color 0.3s ease, background-color 0.3s ease;
}

.bar-menu .highlight-button:hover {
  border-color: var(--highlight);
  background-color: var(--highlight);
}

.events {
  width: 95cqw;
  margin: auto;
  text-align: center;
}

.header {
  margin: 1cqw;
  font-size: 3cqw;
  color: var(--base);
}

.para {
  font-size: 1.5cqw;
}

.swiper {
  position: relative;
  width: 95cqw;
  margin: 0 auto;
  text-align: left;
}

.swiper-slide {
  width: calc(100% / 3);
  aspect-ratio: 1 / 1;
  background-size: cover;
  background-position: center;
  border-radius: calc(100% / 18);
  color: var(--base2);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  container-type: size;
  user-select: none;
  transition: color 0.3s ease;
}

.swiper-slide:hover {
  color: var(--base);
}

.swiper-pagination {
  position: relative;
  margin-top: 10px;
  text-align: center;
}

.e-date {
  line-height: 0.8;
  margin: 0 0 0 3cqw;
  font-family: "Crimson Pro", serif;
  font-weight: 800;
}

.e-day {
  font-size: 30cqw;
}

.e-month {
  font-size: 12cqw;
}

.e-details {
  margin: 0 0 5cqw 3cqw;
  font-family: "Crimson Pro", serif;
  font-weight: 800;
}

.e-name {
  font-size: 10cqw;
}

.e-location {
  font-size: 5cqw;
}

.swiper-pagination {
  margin: 0.8cqw 0;
}

.swiper-pagination-bullet {
  width: 0.8cqw;
  height: 0.8cqw;
  background: var(--base);
  opacity: 0.5;
}

.swiper-pagination-bullet-active {
  background: var(--highlight);
  opacity: 1;
}

.about-us {
  width: 80cqw;
  text-align: center;
  margin: 0 auto;
}

.questions-container {
  width: 90cqw;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(3, auto);
  gap: 2cqw;
  justify-items: center;
  align-items: start;
  container-type: inline-size;
}

.question {
  position: relative;
  width: 100%;
  font-size: 2.5cqw;
  font-family: "Crimson Pro", serif;
}

.question-header {
  position: relative;
  font-size: 2.5cqw;
  font-weight: 800;
  margin-bottom: 1cqw;
  display: inline-block;
  text-align: center;
}

.question-header::after {
  content: "";
  position: absolute;
  bottom: -0.5cqw;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 0.2cqw;
  background-color: var(--base);
}

.question-ex {
  border: 0.2cqw solid var(--base);
  border-radius: 2cqw;
}

.answer {
  font-size: 1.66cqw;
}

.question li {
  font-family: inherit;
  font-weight: 800;
  font-size: 1.67cqw;
  text-align: center;
  list-style: none;
  margin: 0.5cqw 0;
  padding: 0;
}

.bar-menu,
.events,
.about-us,
.questions-container {
  margin-bottom: 4cqw;
}

.bar-menu:first-of-type {
  margin-top: 0;
}

.contact-us {
  width: 80cqw;
  margin: auto auto 5cqw auto;
  text-align: center;
}

.contact-form {
  display: flex;
  flex-direction: column;
  gap: 1.5cqw;
  margin: 0 auto;
  max-width: 50cqw;
}

.contact-form input,
.contact-form textarea {
  font-family: "Crimson Pro", serif;
  font-weight: 800;
  font-size: 1.5cqw;
  padding: 1cqw;
  border: 2px solid var(--base);
  border-radius: 0.5cqw;
  width: 100%;
  box-sizing: border-box;
  outline: none;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.contact-form input:focus,
.contact-form textarea:focus {
  border-color: var(--base);
  box-shadow: 0 0 0.5cqw rgba(201,166,107,0.3);
}

.contact-form input::placeholder,
.contact-form textarea::placeholder {
  font-family: "Crimson Pro", serif;
  font-weight: 800;
  font-size: 1.5cqw;
  color: var(--base);
}

.contact-form textarea {
  min-height: 10cqh;
  resize: vertical;
}

.contact-form button {
  font-family: "Crimson Pro", serif;
  font-weight: 800;
  font-size: 1.5cqw;
  padding: 1cqw 2cqw;
  border: 2px solid var(--base);
  border-radius: 5cqw;
  background-color: var(--base);
  color: #fff;
  cursor: pointer;
  transition: background-color 0.3s ease, border-color 0.3s ease;
  align-self: center;
}

.contact-form button:hover {
  background-color: var(--highlight);
  border-color: var(--highlight);
}
