/* Tee Time Social v176.2 - public preview alignment and booking page shell */

/* Testing banner removed while preserving the booking implementation. */
.tts-testing-banner{display:none!important}
body.tts-testing-active{padding-top:0!important}
.tts-testing-active .booking-sheet-backdrop{top:0!important;height:100dvh!important}

/* Shared public logo treatment. */
.public-header{min-height:92px;height:92px}
.public-brand{flex:0 0 auto}
.public-brand .side-logo{
  width:156px!important;
  height:76px!important;
  padding:0!important;
  border-radius:13px!important;
  background:#fbf6ea!important;
  object-fit:contain!important;
  display:block!important;
}
.public-footer .side-logo{
  width:180px!important;
  height:auto!important;
  padding:0!important;
  background:#fbf6ea!important;
  border-radius:13px!important;
  object-fit:contain!important;
}

/* Booking page uses the same public website shell and page-hero dimensions. */
.booking-wizard-page{background:#fbf6ea!important;color:#00483e!important;min-height:100vh!important}
.booking-wizard-landing{min-height:0!important;background:#fbf6ea!important;display:block!important}
.booking-wizard-landing>.booking-wizard-header{display:none!important}
.booking-public-header{width:100%;box-sizing:border-box}
.booking-wizard-hero{
  min-height:500px!important;
  max-width:none!important;
  margin:0!important;
  padding:80px 6vw!important;
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-end!important;
  text-align:left!important;
  background:#00483e!important;
  color:#fff!important;
  border-radius:0!important;
}
.booking-wizard-hero .tts-eyebrow{color:#ef4b56!important;margin:0 0 12px!important}
.booking-wizard-hero h1{
  margin:0 0 22px!important;
  max-width:850px!important;
  color:#fff!important;
  font:clamp(68px,8vw,118px)/.86 Georgia,serif!important;
  letter-spacing:-.055em!important;
}
.booking-wizard-hero>p:not(.tts-eyebrow){
  max-width:720px!important;
  margin:0 0 30px!important;
  color:#d7e2de!important;
  font-size:20px!important;
  line-height:1.55!important;
}
.booking-launch-button{
  min-width:220px!important;
  width:auto!important;
  border:0!important;
  border-radius:999px!important;
  background:#ef4b56!important;
  color:#fff!important;
  padding:16px 26px!important;
  font-weight:900!important;
  box-shadow:0 14px 32px rgba(239,75,86,.24)!important;
}
.booking-preview-info{
  padding:80px 6vw 95px;
  background:#fbf6ea;
}
.booking-preview-info__head{max-width:820px;margin-bottom:38px}
.booking-preview-info__head h2{font:clamp(42px,5vw,70px)/.95 Georgia,serif;margin:10px 0 14px;color:#00483e}
.booking-preview-info__head p{font-size:19px;line-height:1.65;color:#596a64;margin:0}
.booking-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.booking-preview-grid article{background:#fffdf8;border:1px solid #d8dfdb;border-radius:22px;padding:28px}
.booking-preview-grid span{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#ffe4e5;color:#ef4b56;font-weight:900;margin-bottom:16px}
.booking-preview-grid h3{font:30px/1 Georgia,serif;margin:0 0 10px;color:#00483e}
.booking-preview-grid p{margin:0;color:#64736e;line-height:1.6}

@media(max-width:1050px){
  .booking-preview-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .public-header{height:76px;min-height:76px}
  .public-brand .side-logo{width:118px!important;height:58px!important}
  .booking-wizard-hero{min-height:350px!important;padding:60px 20px!important}
  .booking-wizard-hero h1{font-size:62px!important}
  .booking-wizard-hero>p:not(.tts-eyebrow){font-size:17px!important}
  .booking-preview-info{padding:58px 20px 90px}
  .booking-preview-grid{grid-template-columns:1fr}
}
