.c1-booking,
.c1-booking * {
  box-sizing: border-box;
}

.c1-booking {
  position: relative;
  padding: 76px 24px 70px;
  overflow: hidden;
  isolation: isolate;
  background: #08070a;
  color: #fff;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
}

.c1-booking-atmosphere {
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(circle at 78% 38%, rgba(62, 5, 77, .2), transparent 32%),
    radial-gradient(circle at 18% 78%, rgba(224, 90, 42, .08), transparent 30%),
    #08070a;
  pointer-events: none;
}

.c1-booking-shell {
  width: min(1210px, 100%);
  margin: 0 auto;
}

.c1-booking-heading {
  max-width: 1160px;
  margin: 0 auto;
  text-align: center;
}

.c1-booking-heading > p {
  margin: 0 0 14px;
  color: #f87549;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .17em;
}

.c1-booking-heading > div {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
}

.c1-booking-heading i {
  width: 98px;
  height: 22px;
  flex: 0 0 98px;
  background: linear-gradient(90deg, transparent, #d83aaa, rgba(248, 117, 73, .28)) center / 100% 2px no-repeat;
  filter: drop-shadow(0 0 9px rgba(216, 58, 170, .28));
}

.c1-booking-heading i:last-child {
  transform: scaleX(-1);
}

.c1-booking-heading h2 {
  max-width: 850px;
  margin: 0;
  color: #fff;
  font: 800 40px/1.13 Manrope, Inter, ui-sans-serif, system-ui, sans-serif;
  letter-spacing: -.035em;
  text-wrap: balance;
}

.c1-booking-heading > span {
  display: block;
  max-width: 800px;
  margin: 16px auto 0;
  color: rgba(255, 255, 255, .58);
  font-size: 14px;
  line-height: 1.6;
  text-wrap: balance;
}

.c1-booking-room {
  max-width: 1140px;
  margin: 55px auto 0;
  border: 1px solid rgba(255, 255, 255, .11);
  background: rgba(8, 7, 10, .58);
}

.c1-booking-room > header {
  min-height: 58px;
  padding: 18px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border-bottom: 1px solid rgba(255, 255, 255, .1);
  color: #f87549;
  font-size: 9px;
  letter-spacing: .14em;
}

.c1-booking-grid {
  display: grid;
  grid-template-columns: 310px 1fr;
}

.c1-booking-grid > aside {
  padding: 28px;
  border-right: 1px solid rgba(255, 255, 255, .1);
  background: linear-gradient(180deg, rgba(62, 5, 77, .28), rgba(224, 90, 42, .04));
}

.c1-booking-grid aside article {
  padding: 24px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.c1-booking-grid aside article:last-child {
  border-bottom: 0;
}

.c1-booking-grid aside b {
  color: #f87549;
  font-size: 10px;
}

.c1-booking-grid aside h3 {
  margin: 11px 0 7px;
  color: #fff;
  font: 700 17px/1.25 Manrope, Inter, ui-sans-serif, system-ui, sans-serif;
}

.c1-booking-grid aside p {
  margin: 0;
  color: rgba(255, 255, 255, .58);
  font-size: 11px;
  line-height: 1.5;
}

.c1-booking-form {
  min-width: 0;
  padding: 32px;
}

.c1-booking-form.is-anchor-highlighted {
  animation: c1-booking-target 1.5s ease-out;
}

.c1-booking-form > header {
  margin: 0 0 25px;
}

.c1-booking-form > header p {
  margin: 0 0 10px;
  color: #f87549;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .15em;
}

.c1-booking-form > header h3 {
  margin: 0;
  color: #fff;
  font: 750 25px/1.25 Manrope, Inter, ui-sans-serif, system-ui, sans-serif;
}

.c1-booking-form > header span {
  display: block;
  margin-top: 10px;
  color: rgba(255, 255, 255, .58);
  font-size: 12px;
  line-height: 1.55;
}

.c1-booking-form form {
  padding: 0;
  border: 0;
  background: transparent;
  gap: 14px;
}

.c1-booking-form .field-row {
  gap: 14px;
}

.c1-booking-form label {
  gap: 7px;
  font-size: 10px;
}

.c1-booking-form input,
.c1-booking-form select,
.c1-booking-form textarea {
  min-height: 42px;
  padding: 11px 12px;
  font-size: 12px;
}

.c1-booking-form textarea {
  min-height: 74px;
}

.c1-custom-select__native {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  clip-path: inset(50%);
}

.c1-custom-select {
  position: relative;
  width: 100%;
  text-transform: none;
  letter-spacing: 0;
}

.c1-custom-select__trigger {
  width: 100%;
  min-height: 42px;
  padding: 10px 13px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 4px;
  background: linear-gradient(120deg, rgba(18, 10, 20, .95), rgba(6, 5, 8, .98));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025);
  color: rgba(255, 255, 255, .86);
  cursor: pointer;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.35;
  text-align: left;
  text-transform: none;
  letter-spacing: 0;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.c1-custom-select__trigger.is-placeholder {
  color: rgba(255, 255, 255, .42);
}

.c1-custom-select__trigger i {
  width: 9px;
  height: 9px;
  flex: 0 0 9px;
  border-right: 1.5px solid rgba(255, 255, 255, .72);
  border-bottom: 1.5px solid rgba(255, 255, 255, .72);
  transform: translateY(-2px) rotate(45deg);
  transition: transform .2s ease, border-color .2s ease;
}

.c1-custom-select.is-open .c1-custom-select__trigger,
.c1-custom-select__trigger:focus-visible {
  outline: 0;
  border-color: rgba(234, 83, 161, .78);
  box-shadow: 0 0 0 1px rgba(234, 83, 161, .18), 0 0 22px rgba(171, 53, 156, .15);
}

.c1-custom-select.is-open .c1-custom-select__trigger i {
  border-color: #f87549;
  transform: translateY(3px) rotate(225deg);
}

.c1-custom-select.is-invalid .c1-custom-select__trigger {
  border-color: rgba(248, 117, 73, .9);
}

.c1-custom-select__menu {
  position: absolute;
  z-index: 80;
  top: calc(100% + 7px);
  left: 0;
  width: 100%;
  max-height: 238px;
  padding: 7px;
  overflow-y: auto;
  border: 1px solid rgba(216, 58, 170, .46);
  border-radius: 8px;
  background: linear-gradient(145deg, rgba(36, 9, 34, .99), rgba(8, 6, 10, .995) 62%);
  box-shadow: 0 20px 46px rgba(0, 0, 0, .62), 0 0 28px rgba(171, 53, 156, .14);
  backdrop-filter: blur(16px);
}

.c1-custom-select__menu[hidden] {
  display: none;
}

.c1-custom-select__option {
  width: 100%;
  min-height: 38px;
  padding: 9px 11px;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: rgba(255, 255, 255, .7);
  cursor: pointer;
  font-size: 12px;
  line-height: 1.35;
  text-align: left;
  text-transform: none;
  letter-spacing: 0;
  transition: color .16s ease, background .16s ease;
}

.c1-custom-select__option:hover,
.c1-custom-select__option:focus-visible {
  outline: 0;
  color: #fff;
  background: rgba(216, 58, 170, .18);
}

.c1-custom-select__option.is-selected {
  color: #fff;
  background: linear-gradient(90deg, rgba(184, 53, 146, .72), rgba(224, 90, 42, .58));
}

.c1-booking-form .check {
  grid-template-columns: 18px 1fr;
  font-size: 10px;
}

.c1-booking-form .check input {
  min-height: auto;
}

.c1-booking-form .button {
  width: 100%;
  min-height: 50px;
  margin-top: 4px;
}

.c1-booking-form > small {
  display: block;
  margin-top: 12px;
  color: rgba(255, 255, 255, .4);
  font-size: 9px;
  line-height: 1.4;
  text-align: center;
}

.c1-booking-form > small span {
  color: #f87549;
}

@keyframes c1-booking-target {
  0%, 38% { box-shadow: inset 0 0 0 1px rgba(216,58,170,.92), 0 0 42px rgba(216,58,170,.3), 0 0 64px rgba(248,117,73,.14); }
  100% { box-shadow: inset 0 0 0 1px transparent, 0 0 0 rgba(216,58,170,0), 0 0 0 rgba(248,117,73,0); }
}

@media (max-width: 1024px) {
  .c1-booking {
    padding: 68px 44px 60px;
  }

  .c1-booking-heading h2 {
    font-size: 35px;
  }

  .c1-booking-heading i {
    width: 65px;
    flex-basis: 65px;
  }

  .c1-booking-grid {
    grid-template-columns: 250px 1fr;
  }

  .c1-booking-grid > aside,
  .c1-booking-form {
    padding: 24px;
  }
}

@media (max-width: 760px) {
  .c1-booking {
    padding: 64px 20px 54px;
  }

  .c1-booking-heading > p {
    font-size: 8px;
  }

  .c1-booking-heading > div {
    gap: 7px;
  }

  .c1-booking-heading i {
    width: 30px;
    flex-basis: 30px;
  }

  .c1-booking-heading h2 {
    min-width: 0;
    font-size: 28px;
    line-height: 1.14;
    overflow-wrap: anywhere;
  }

  .c1-booking-heading > span {
    font-size: 13px;
    line-height: 1.5;
  }

  .c1-booking-room {
    margin-top: 42px;
  }

  .c1-booking-room > header {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .c1-booking-grid {
    grid-template-columns: 1fr;
  }

  .c1-booking-grid > aside {
    border: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .1);
    text-align: center;
  }

  .c1-booking-grid aside article {
    padding: 26px 0;
  }

  .c1-booking-form {
    padding: 28px 20px;
  }

  .c1-booking-form > header {
    text-align: center;
  }

  .c1-booking-form .field-row {
    grid-template-columns: 1fr;
  }
}
