/* 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}
}

/* v178 isolated preview polish - public index.html remains untouched */

/* Remove the booking testing strip and all space reserved for it. */
.tts-test-banner,
.tts-testing-banner{display:none!important;visibility:hidden!important;height:0!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;overflow:hidden!important}
body.tts-test-mode,
body.tts-testing-active{padding-top:0!important;margin-top:0!important}
.tts-test-mode .booking-sheet-backdrop,
.tts-testing-active .booking-sheet-backdrop{top:0!important;height:100dvh!important}

/* Consistent compact logo on every private-preview public page. */
.public-header{
  width:100%!important;
  height:94px!important;
  min-height:94px!important;
  padding:0 5.5vw!important;
  display:flex!important;
  align-items:center!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}
.public-brand{
  width:142px!important;
  height:70px!important;
  min-width:142px!important;
  flex:0 0 142px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
  border-radius:12px!important;
  background:#fbf6ea!important;
}
.public-brand .side-logo,
.public-header .side-logo{
  width:130px!important;
  height:62px!important;
  max-width:130px!important;
  max-height:62px!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  display:block!important;
  object-fit:contain!important;
  object-position:center!important;
  filter:none!important;
  transform:none!important;
}
.public-footer .side-logo{
  width:150px!important;
  height:78px!important;
  max-width:150px!important;
  margin:0 0 14px!important;
  object-fit:contain!important;
  object-position:left center!important;
}

/* Booking preview uses exactly the same public shell and hero language. */
.booking-wizard-page,
.booking-wizard-landing{background:#fbf6ea!important}
.booking-wizard-landing{
  display:block!important;
  min-height:100vh!important;
  width:100%!important;
}
.booking-wizard-landing>.booking-wizard-header{display:none!important}
.booking-public-header{background:#00483e!important;color:#fff!important}
.booking-public-header .public-nav a,
.booking-public-header .public-account{color:#fff!important}
.booking-public-header .public-brand{background:#fbf6ea!important}
.booking-wizard-hero{
  width:100%!important;
  max-width:none!important;
  min-height:500px!important;
  margin:0!important;
  padding:82px 6vw 76px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  text-align:left!important;
  box-sizing:border-box!important;
  border:0!important;
  border-radius:0!important;
  background:#00483e!important;
  color:#fff!important;
  box-shadow:none!important;
}
.booking-wizard-hero .tts-eyebrow{
  color:#f34b55!important;
  margin:0 0 15px!important;
  font-weight:900!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
}
.booking-wizard-hero h1{
  max-width:900px!important;
  margin:0 0 22px!important;
  color:#fff!important;
  font-family:'DM Serif Display',Georgia,serif!important;
  font-size:clamp(64px,7.2vw,108px)!important;
  line-height:.9!important;
  letter-spacing:-.045em!important;
}
.booking-wizard-hero>p:not(.tts-eyebrow){
  max-width:700px!important;
  margin:0 0 30px!important;
  color:#d9e5e1!important;
  font-size:19px!important;
  line-height:1.55!important;
}
.booking-launch-button{
  width:auto!important;
  min-width:210px!important;
  margin:0!important;
  padding:16px 28px!important;
  border:0!important;
  border-radius:999px!important;
  background:#f34b55!important;
  color:#fff!important;
  font-weight:900!important;
}
.booking-preview-info{padding:72px 6vw 92px!important}

@media(max-width:760px){
  .public-header{height:78px!important;min-height:78px!important;padding:0 18px!important}
  .public-brand{width:112px!important;height:58px!important;min-width:112px!important;flex-basis:112px!important}
  .public-brand .side-logo,.public-header .side-logo{width:104px!important;height:52px!important;max-width:104px!important;max-height:52px!important}
  .booking-wizard-hero{min-height:390px!important;padding:58px 22px!important}
  .booking-wizard-hero h1{font-size:58px!important}
}

/* v179: make every private-preview booking state match the public site theme. */
.booking-v2-page,
.booking-v2-shell{
  width:100%!important;
  max-width:none!important;
  min-height:100vh!important;
  margin:0!important;
  padding:0!important;
  background:#fbf6ea!important;
  color:#00483e!important;
  box-sizing:border-box!important;
}
.booking-v2-shell>.booking-v2-header{display:none!important}
.booking-v2-page>.booking-public-header,
.booking-v2-shell>.booking-public-header{
  background:#00483e!important;
  color:#fff!important;
}
.booking-v2-intro{
  width:100%!important;
  min-height:500px!important;
  margin:0!important;
  padding:82px 6vw 76px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-end!important;
  box-sizing:border-box!important;
  background:#00483e!important;
  color:#fff!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.booking-v2-intro .tts-eyebrow{
  color:#f34b55!important;
  margin:0 0 15px!important;
  font-weight:900!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
}
.booking-v2-intro h1{
  max-width:900px!important;
  margin:0 0 22px!important;
  color:#fff!important;
  font-family:'DM Serif Display',Georgia,serif!important;
  font-size:clamp(64px,7.2vw,108px)!important;
  line-height:.9!important;
  letter-spacing:-.045em!important;
}
.booking-v2-intro>p:not(.tts-eyebrow){
  max-width:700px!important;
  margin:0!important;
  color:#d9e5e1!important;
  font-size:19px!important;
  line-height:1.55!important;
}
.booking-v2-layout{
  width:min(1500px,88vw)!important;
  max-width:1500px!important;
  margin:0 auto!important;
  padding:76px 0 100px!important;
  box-sizing:border-box!important;
  background:#fbf6ea!important;
}
.booking-v2-card,
.booking-v2-summary,
.booking-v2-review,
.booking-v2-success{
  background:#fffdf8!important;
  border:1px solid #d8dfdb!important;
  border-radius:24px!important;
  color:#00483e!important;
  box-shadow:none!important;
}
.booking-v2-card h2,.booking-v2-card h3,.booking-v2-summary h2,.booking-v2-summary h3{color:#00483e!important}
.booking-v2-card input,.booking-v2-card select,.booking-v2-card textarea{
  background:#fbf6ea!important;
  border:1px solid #cfd8d3!important;
  color:#00483e!important;
  border-radius:16px!important;
}
.booking-v2-bays button{border-radius:18px!important;border:1px solid #d8dfdb!important;background:#fffdf8!important;color:#00483e!important}
.booking-v2-bays button.selected{border-color:#f34b55!important;background:#fff1f2!important}
.booking-v2-page .tts-primary-button,
.booking-v2-page button[type="submit"]{
  background:#f34b55!important;
  color:#fff!important;
  border:0!important;
  border-radius:999px!important;
}
@media(max-width:760px){
  .booking-v2-intro{min-height:390px!important;padding:58px 22px!important}
  .booking-v2-intro h1{font-size:58px!important}
  .booking-v2-intro>p:not(.tts-eyebrow){font-size:17px!important}
  .booking-v2-layout{width:auto!important;margin:0!important;padding:52px 20px 90px!important}
}
