.instant-booking-page {
  background: #f4ecdf;
}

.instant-booking {
  position: relative;
  isolation: isolate;
  min-height: 590px;
  display: grid;
  align-items: center;
  overflow: hidden;
  padding: 54px 0 58px;
  background: #2b0002;
  color: #fff;
}

.instant-booking::before {
  content: '';
  position: absolute;
  z-index: -2;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(35,0,2,.96) 0%, rgba(54,2,3,.87) 39%, rgba(29,0,1,.58) 100%),
    url('../images/hero-knossos.jpg') center 47% / cover;
}

.instant-booking::after {
  content: '';
  position: absolute;
  z-index: -1;
  width: 480px;
  height: 480px;
  right: -180px;
  bottom: -310px;
  border: 1px solid rgba(218,177,91,.2);
  border-radius: 50%;
  box-shadow: 0 0 0 74px rgba(218,177,91,.035), 0 0 0 148px rgba(218,177,91,.02);
}

.instant-booking__layout {
  display: grid;
  grid-template-columns: minmax(280px,.72fr) minmax(600px,1.28fr);
  gap: clamp(38px,5vw,76px);
  align-items: center;
}

.instant-booking .breadcrumbs {
  margin-bottom: 26px;
  color: rgba(255,255,255,.48);
}

.instant-booking__intro h1 {
  margin: 14px 0 17px;
  color: #fff;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(62px,6.7vw,102px);
  font-weight: 500;
  line-height: .82;
  letter-spacing: -.045em;
}

.instant-booking__intro h1 span {
  color: #dfb75f;
  font-style: italic;
}

.instant-booking__intro > p {
  max-width: 460px;
  margin: 0;
  color: rgba(255,255,255,.76);
  font-size: 16px;
  line-height: 1.65;
}

.instant-booking__micro {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 17px;
  margin-top: 24px;
  color: #dfcda9;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.instant-booking__card {
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 4px 4px 48px 4px;
  background: rgba(255,253,248,.985);
  color: #430606;
  box-shadow: 0 28px 80px rgba(13,0,0,.34);
}

.instant-booking__card > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 22px 16px;
  border-bottom: 1px solid #dfd2bf;
  background: #f7f0e5;
}

.instant-booking__card > header div {
  display: grid;
  gap: 2px;
}

.instant-booking__card > header span,
.instant-booking__card > header small {
  color: #9a7f68;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.instant-booking__card > header strong {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 25px;
  font-weight: 600;
  line-height: 1;
}

.instant-booking__card > header small {
  padding: 7px 10px;
  border: 1px solid #d5c3a8;
  border-radius: 999px;
  color: #6c321c;
}

.instant-booking__card fieldset {
  margin: 0;
  padding: 20px 22px 17px;
  border: 0;
}

.instant-booking__when,
.instant-booking__who {
  display: grid;
  gap: 10px;
}

.instant-booking__when {
  grid-template-columns: .72fr 1.12fr .9fr;
}

.instant-booking__who {
  grid-template-columns: 1fr 1fr auto;
  margin-top: 10px;
}

.instant-booking__card label {
  position: relative;
  min-width: 0;
  display: grid;
  gap: 6px;
}

.instant-booking__card label > span {
  color: #6b4332;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.instant-booking__card input,
.instant-booking__card select {
  width: 100%;
  min-width: 0;
  height: 48px;
  padding: 0 13px;
  border: 1px solid #d8cab8;
  border-radius: 3px;
  outline: 0;
  background: #fff;
  color: #3f0707;
  font: inherit;
  font-size: 13px;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.instant-booking__card input:focus,
.instant-booking__card select:focus {
  border-color: #a57525;
  box-shadow: 0 0 0 3px rgba(185,137,52,.16);
  background: #fffdf9;
}

.instant-booking__card input.is-invalid,
.instant-booking__card select.is-invalid {
  border-color: #a62d29;
  box-shadow: 0 0 0 3px rgba(166,45,41,.11);
}

.instant-booking__card label > small {
  position: absolute;
  right: 10px;
  top: 14px;
  color: #9a8a7b;
  font-size: 7px;
  pointer-events: none;
}

.instant-booking__submit {
  align-self: end;
  min-width: 175px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 0 20px;
  border: 0;
  border-radius: 3px 3px 22px 3px;
  background: linear-gradient(135deg,#e0b755,#c99131);
  color: #350303;
  font: inherit;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .025em;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(92,47,4,.16);
  transition: transform .18s ease, box-shadow .18s ease;
}

.instant-booking__submit:hover,
.instant-booking__submit:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(92,47,4,.23);
}

.instant-booking__submit:focus-visible {
  outline: 2px solid #4e0808;
  outline-offset: 3px;
}

.instant-booking__submit b {
  font-size: 17px;
  font-weight: 500;
}

.instant-booking__promise {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 11px;
  align-items: center;
  margin-top: 14px;
  padding: 11px 13px;
  border: 1px solid #cbd9c7;
  background: #eef5eb;
  color: #2f5630;
}

.instant-booking__message-icon {
  width: 31px;
  height: 31px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #365e38;
  color: #fff;
}

.instant-booking__promise p,
.instant-booking__promise small {
  display: block;
  margin: 0;
}

.instant-booking__promise strong {
  display: block;
  font-size: 11px;
}

.instant-booking__promise small {
  margin-top: 2px;
  color: #617462;
  font-size: 9px;
}

.instant-booking__status {
  display: none;
  margin-top: 12px;
  padding: 11px 13px;
  border: 1px solid #d0b36e;
  background: #fff7d8;
  color: #550807;
  font-size: 11px;
  line-height: 1.55;
}

.instant-booking__status.is-visible {
  display: block;
}

.instant-booking__demo {
  margin: 10px 0 0;
  color: #998a7c;
  font-size: 8px;
  text-align: center;
}

.instant-booking__support {
  border-bottom: 1px solid #ddcfba;
  background: #eee3d1;
}

.instant-booking__support .container {
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  color: #6e5c4d;
  font-size: 10px;
}

.instant-booking__support a {
  padding-bottom: 2px;
  border-bottom: 1px solid #8f641e;
  color: #520807;
  font-weight: 900;
}

.instant-booking__support small {
  color: #948473;
}

@media (max-width: 980px) {
  .instant-booking {
    padding: 45px 0 50px;
  }

  .instant-booking__layout {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .instant-booking__intro {
    max-width: 720px;
  }

  .instant-booking__intro h1 {
    font-size: 76px;
  }

  .instant-booking__intro > p {
    font-size: 14px;
  }
}

@media (max-width: 620px) {
  .instant-booking {
    min-height: 0;
    padding: 34px 0 38px;
  }

  .instant-booking .breadcrumbs {
    margin-bottom: 18px;
  }

  .instant-booking__intro h1 {
    margin-top: 10px;
    font-size: 58px;
  }

  .instant-booking__intro > p {
    font-size: 13px;
  }

  .instant-booking__micro {
    margin-top: 18px;
    font-size: 7px;
  }

  .instant-booking__card {
    border-radius: 3px 3px 34px 3px;
  }

  .instant-booking__card > header,
  .instant-booking__card fieldset {
    padding-left: 15px;
    padding-right: 15px;
  }

  .instant-booking__when {
    grid-template-columns: .72fr 1.28fr;
  }

  .instant-booking__when label:last-child {
    grid-column: 1 / -1;
  }

  .instant-booking__who {
    grid-template-columns: 1fr;
  }

  .instant-booking__submit {
    width: 100%;
  }

  .instant-booking__support .container {
    min-height: 76px;
    flex-wrap: wrap;
    gap: 5px 12px;
    padding-top: 12px;
    padding-bottom: 12px;
  }

  .instant-booking__support small {
    width: 100%;
    text-align: center;
  }
}
.instant-booking-page ~ .floating-book {
  display: none;
}

/* V7.6: keep the five-field flow compact while making every label readable. */
.instant-booking__micro { font-size:11px; }
.instant-booking__card > header span,
.instant-booking__card > header small { font-size:11px; }
.instant-booking__card > header strong { font-size:27px; }
.instant-booking__card label > span { font-size:11px; }
.instant-booking__card input,
.instant-booking__card select { font-size:15px; }
.instant-booking__card label > small { font-size:10px; }
.instant-booking__submit { font-size:13px; }
.instant-booking__promise strong { font-size:13px; }
.instant-booking__promise small { font-size:11px; }
.instant-booking__status { font-size:13px; }
.instant-booking__demo { font-size:10px; }
.instant-booking__support .container { font-size:12px; }

@media (min-width:981px) {
  .instant-booking { min-height:540px; padding:42px 0 44px; }
  .instant-booking__layout { gap:42px; }
  .instant-booking .breadcrumbs { margin-bottom:18px; }
  .instant-booking__intro h1 { margin-block:10px 14px; }
  .instant-booking__micro { margin-top:18px; }
  .instant-booking__card > header { padding:15px 20px 13px; }
  .instant-booking__card fieldset { padding:17px 20px 14px; }
  .instant-booking__when,.instant-booking__who { gap:8px; }
  .instant-booking__promise { margin-top:11px; padding:9px 12px; }
  .instant-booking__support .container { min-height:56px; }
}
