body {
  background-color: var(--clr-primary);
  overflow-x: hidden;
}

header {
  width: 100vw;
  height: 100vh;
  /* background-image: url(../assets/BG-3.jpg);
  background-color: rgba(250, 244, 231, 0.6); */
  background-size: cover;
  background-repeat: no-repeat;
  background-blend-mode: overlay;
  background-position: center bottom;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
  padding: 0 3vw;
  color: var(--clr-secondary);
  text-shadow: 2px 2px 4px rgba(255, 255, 255, 0.1);
  position: relative;
  line-height: 0.9;
}

header .social-icons {
  position: absolute;
  top: 4rem;
  right: 6rem;
  display: flex;
  gap: 1rem;
}

.social-icons img {
  background-color: var(--clr-secondary);
}

.social-icons img {
  padding: 3px;
  width: 32px;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
}

header h1,
header h2 {
  color: inherit;
  text-align: center;
  /* text-transform: uppercase; */
}

header h1 {
  font-size: var(--fs-hero-heading);
}

header h2 {
  font-size: var(--fs-heading);
}

header>a {
  background-color: var(--clr-secondary);
  color: var(--clr-primary);
  font-size: var(--fs-CTA);
  padding: 2rem 4rem;
  margin-top: 2rem;
  border-radius: 1ch;
  -webkit-border-radius: 1ch;
  -moz-border-radius: 1ch;
  -ms-border-radius: 1ch;
  -o-border-radius: 1ch;
}

section {
  margin-bottom: 5rem;
}

section h1,
section h2 {
  /* font-weight: 700; */
  text-align: center;
  margin: 0 0 5rem;
  text-transform: uppercase;
}

.room-card-carousel {
  overflow-x: hidden;
}

.room-card-wrapper {
  --isFirst: calc(1 - min(1, (var(--idx) - 0) * (var(--idx) - 0)));
  --isLast: calc(1 - min(1, (var(--idx) - var(--maxIndex)) * (var(--idx) - var(--maxIndex))));
  display: flex;
  gap: 2rem;
  justify-content: space-between;
  transform: translateX(calc(((75vw + 2rem) * -1 * var(--idx)) + (7vw * 1) - (7vw * var(--isFirst)) + (7vw * var(--isLast))));
  -webkit-transform: translateX(calc(((75vw + 2rem) * -1 * var(--idx)) + (7vw * 1) - (7vw * var(--isFirst)) + (7vw * var(--isLast))));
  -moz-transform: translateX(calc(((75vw + 2rem) * -1 * var(--idx)) + (7vw * 1) - (7vw * var(--isFirst)) + (7vw * var(--isLast))));
  -ms-transform: translateX(calc(((75vw + 2rem) * -1 * var(--idx)) + (7vw * 1) - (7vw * var(--isFirst)) + (7vw * var(--isLast))));
  -o-transform: translateX(calc(((75vw + 2rem) * -1 * var(--idx)) + (7vw * 1) - (7vw * var(--isFirst)) + (7vw * var(--isLast))));
  transition: 0.2s linear all;
  -webkit-transition: 0.2s linear all;
  -moz-transition: 0.2s linear all;
  -ms-transition: 0.2s linear all;
  -o-transition: 0.2s linear all;
}

.room-card {
  position: relative;
  width: fit-content;
  overflow: clip;
  border-radius: 1rem;
  -webkit-border-radius: 1rem;
  -moz-border-radius: 1rem;
  -ms-border-radius: 1rem;
  -o-border-radius: 1rem;
}

.room-card>img {
  width: 75vw;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.room-card>div {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(111, 79, 55, 0.9);
  padding: 1rem;
  display: flex;
  justify-content: space-between;
  gap: 2rem;
}

.room-card h3 {
  font-weight: 700;
  font-size: var(--fs-CTA);
}

.room-card p {
  font-size: var(--fs-paragraph);
}

.room-card>div>div>* {
  color: var(--clr-primary);
}

.room-card>div>div.info>*~* {
  color: rgba(250, 244, 231, 0.8);
}

.room-card>div>div.price {
  text-align: center;
}

section.rooms #carousel-controls {
  display: flex;
  margin: auto;
  gap: 3rem;
  width: fit-content;
  margin-top: 2rem;
}

#carousel-controls>span {
  --isCurrent: calc(1 - min(1, (var(--idx) - var(--index)) * (var(--idx) - var(--index))));
  cursor: pointer;
  width: var(--fs-CTA);
  height: var(--fs-CTA);
  background-color: rgba(111, 79, 55, var(--isCurrent));
  border: 1px solid var(--clr-accent);
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
  position: relative;
}

#contact-us-form {
  background-color: var(--clr-secondary);
  padding: 4rem;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  width: min(48rem, 100%);
  margin: 0 auto;
  border-radius: 1ch;
  -webkit-border-radius: 1ch;
  -moz-border-radius: 1ch;
  -ms-border-radius: 1ch;
  -o-border-radius: 1ch;
}

#contact-us-form>.form-group {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

#contact-us-form>.form-group>label {
  width: fit-content;
  cursor: pointer;
}

#contact-us-form>.form-group>input,
#contact-us-form>.form-group>textarea,
#contact-us-form>button {
  padding: 1rem;
  border: 1px solid var(--clr-primary);
  resize: none;
  border-radius: 0.5ch;
  -webkit-border-radius: 0.5ch;
  -moz-border-radius: 0.5ch;
  -ms-border-radius: 0.5ch;
  -o-border-radius: 0.5ch;
}

#contact-us-form>button {
  text-transform: uppercase;
  font-size: var(--fs-CTA);
  padding: 1rem 2rem;
  background-color: var(--clr-primary);
  color: var(--clr-secondary);
  cursor: pointer;
}

#contact-us-form>.form-group>label,
#contact-us-form>.form-group>input,
#contact-us-form>.form-group>textarea {
  font-family: var(--ff-main);
  font-size: var(--fs-paragraph);
  color: var(--clr-primary);
  background-color: transparent;
}

footer {
  background-color: var(--clr-secondary);
  padding: 1.5rem 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  align-items: center;
}

footer p {
  color: var(--clr-primary);
  width: fit-content;
}

footer .social-icons {
  display: flex;
  width: 40.5ch;
  justify-content: space-between;
}

footer .social-icons img {
  background-color: var(--clr-primary);
}