/* booking: section-owned desktop and responsive styles. */
/* Depends on ../../assets/css/base.css for tokens and grid utilities. */

.ln-booking__intro h2,
.ln-booking__intro p {
  margin: 0;

}

.ln-booking {
  display: block;
  height: 923px;
  padding: 128px 0;

}

.ln-booking--embedded {
  height: auto;
  min-height: 923px;
}

.ln-booking__column {
  display: flex;
  flex-direction: column;
  gap: 64px;
  align-items: center;

}

.ln-booking__intro {
  display: flex;
  gap: 64px;
  align-items: flex-end;
  width: 1048px;

}

.ln-booking__heading-wrap {
  flex: 0 0 494px;
  width: 494px;

}

.ln-booking__intro h2 {
  width: 501px;
  color: var(--ln-color-navy);
  font-size: 45px;
  font-weight: 500;
  letter-spacing: -0.45px;
  line-height: 1;
  white-space: pre-wrap;

}

.ln-booking__description-wrap {
  flex: 0 0 490px;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  width: 490px;
  padding-top: 43px;

}

.ln-booking__intro p {
  width: 492px;
  color: var(--ln-color-navy);
  font-size: 20px;
  font-weight: 300;
  letter-spacing: 0.16px;
  line-height: 1.4;
  opacity: 0.9;

}

.ln-booking__calendar {
  display: block;
  width: 800px;
  height: 513px;
  max-width: none;

}

.ln-booking__calendar-link {
  display: block;
  width: 800px;
}

.ln-booking__embed {
  display: block;
  width: min(100%, 800px);
  min-height: 700px;
  background: #fff;
}

.ln-booking__embed .tidycal-embed,
.ln-booking__embed iframe {
  display: block;
  width: 100%;
  min-height: 700px;
  border: 0;
}

@media (max-width: 64rem) {
  .ln-booking {
      height: auto;
      padding: 72px 20px;
    
  }
  
  .ln-booking__column {
      gap: 40px;
    
  }
  
  .ln-booking__intro {
      flex-direction: column;
      gap: 24px;
      align-items: flex-start;
      width: min(100%, 800px);
    
  }
  
  .ln-booking__heading-wrap,
  .ln-booking__description-wrap {
      width: 100%;
      flex-basis: auto;
    
  }
  
  .ln-booking__description-wrap {
      display: block;
      padding-top: 0;
    
  }
  
  .ln-booking__intro h2 {
      width: 100%;
      font-size: clamp(30px, 7vw, 45px);
    
  }
  
  .ln-booking__intro p {
      width: 100%;
      font-size: 16px;
    
  }
  
  .ln-booking__calendar {
      width: min(100%, 800px);
      height: auto;
    
  }

  .ln-booking__calendar-link {
      width: min(100%, 800px);
  }

  .ln-booking__embed,
  .ln-booking__embed .tidycal-embed,
  .ln-booking__embed iframe {
      min-height: 500px;
  }
}
