@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;600;700&family=Inter:wght@400;500;600;700;800;900&display=swap');

.ttp-app-shell{
  width:100%!important;
  margin:0!important;
  padding:0!important;
  background:
    radial-gradient(circle at 30% 0%,rgba(214,165,74,.08),transparent 28%),
    #050505!important;
  color:#fff!important;
  font-family:Inter,Arial,sans-serif!important;
}
.ttp-app-shell *{box-sizing:border-box!important}
.ttp-app{
  --ttp-black:#050505;
  --ttp-panel:#11100e;
  --ttp-gold:#d6a54a;
  --ttp-gold-light:#e8bd69;
  --ttp-paper:#fffaf3;
  --ttp-ink:#17130f;
  --ttp-muted:#6b6258;
  display:grid!important;
  grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr)!important;
  gap:52px!important;
  width:min(1180px,calc(100% - 40px))!important;
  max-width:1180px!important;
  margin:0 auto!important;
  padding:74px 0 88px!important;
  background:transparent!important;
  color:#fff!important;
  font-family:Inter,Arial,sans-serif!important;
  line-height:1.6!important;
}
.ttp-app__intro{
  position:sticky!important;
  top:28px!important;
  align-self:start!important;
  padding:34px 30px!important;
  background:
    linear-gradient(145deg,rgba(214,165,74,.09),rgba(255,255,255,.015)),
    #11100e!important;
  border:1px solid rgba(214,165,74,.34)!important;
  color:#fff!important;
  box-shadow:0 22px 50px rgba(0,0,0,.28)!important;
}
.ttp-app__eyebrow{
  margin:0 0 12px!important;
  color:#e8bd69!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.2em!important;
  text-transform:uppercase!important;
}
.ttp-app__intro h2{
  margin:0!important;
  color:#fff!important;
  font-family:'Playfair Display',Georgia,serif!important;
  font-size:clamp(2.7rem,4vw,4rem)!important;
  line-height:1.02!important;
  letter-spacing:-.035em!important;
}
.ttp-app__intro>p:not(.ttp-app__eyebrow){
  margin:18px 0 0!important;
  color:rgba(255,255,255,.78)!important;
  font-size:16px!important;
  line-height:1.7!important;
}
.ttp-app__steps{
  list-style:none!important;
  padding:0!important;
  margin:30px 0 0!important;
  display:grid!important;
  gap:14px!important;
}
.ttp-app__steps li{
  display:grid!important;
  grid-template-columns:40px 1fr!important;
  gap:13px!important;
  align-items:start!important;
  padding:15px 0!important;
  border-top:1px solid rgba(214,165,74,.18)!important;
  color:#fff!important;
}
.ttp-app__steps li>span{
  display:grid!important;
  place-items:center!important;
  width:36px!important;
  height:36px!important;
  border:1px solid rgba(214,165,74,.55)!important;
  border-radius:50%!important;
  color:#e8bd69!important;
  font-weight:900!important;
}
.ttp-app__steps strong{
  display:block!important;
  color:#fff!important;
  font-size:15px!important;
}
.ttp-app__steps small{
  display:block!important;
  margin-top:3px!important;
  color:rgba(255,255,255,.66)!important;
  font-size:13px!important;
  line-height:1.5!important;
}
.ttp-app__form{
  width:100%!important;
  margin:0!important;
  padding:38px!important;
  background:#fffaf3!important;
  color:#17130f!important;
  border:1px solid rgba(214,165,74,.45)!important;
  box-shadow:0 24px 60px rgba(0,0,0,.32)!important;
}
.ttp-app fieldset{
  border:0!important;
  border-bottom:1px solid rgba(0,0,0,.12)!important;
  margin:0 0 34px!important;
  padding:0 0 34px!important;
  min-width:0!important;
}
.ttp-app fieldset:last-of-type{border-bottom:0!important;padding-bottom:10px!important}
.ttp-app legend{
  width:100%!important;
  padding:0 0 18px!important;
  color:#17130f!important;
  font-family:'Playfair Display',Georgia,serif!important;
  font-size:1.8rem!important;
  font-weight:700!important;
}
.ttp-app__grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:18px!important}
.ttp-app__grid--spaced{margin-top:22px!important}
.ttp-app__field{display:grid!important;gap:7px!important;min-width:0!important}
.ttp-app__field--full{grid-column:1/-1!important}
.ttp-app__field label,.ttp-app__choice-title{
  color:#724c1f!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.11em!important;
  text-transform:uppercase!important;
}
.ttp-app__field label span{color:#a52c23!important}
.ttp-app input,.ttp-app select,.ttp-app textarea{
  width:100%!important;
  max-width:100%!important;
  min-height:52px!important;
  margin:0!important;
  padding:12px 14px!important;
  border:1px solid rgba(0,0,0,.22)!important;
  border-radius:0!important;
  background:#fff!important;
  color:#111!important;
  font:inherit!important;
  box-shadow:none!important;
}
.ttp-app select{
  appearance:auto!important;
  -webkit-appearance:menulist!important;
}
.ttp-app textarea{min-height:135px!important;resize:vertical!important}
.ttp-app input:focus,.ttp-app select:focus,.ttp-app textarea:focus{
  outline:3px solid rgba(214,165,74,.25)!important;
  border-color:#9c681f!important;
}
.ttp-app__choices{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:10px!important}
.ttp-app__choice,.ttp-app__check{
  display:flex!important;
  gap:10px!important;
  align-items:flex-start!important;
  padding:13px!important;
  border:1px solid rgba(0,0,0,.14)!important;
  background:#fff!important;
  color:#17130f!important;
}
.ttp-app__choice input,.ttp-app__check input{
  width:auto!important;
  min-height:0!important;
  margin-top:4px!important;
  accent-color:#a56e24!important;
}
.ttp-app__choice strong,.ttp-app__choice small{display:block!important}
.ttp-app__choice strong{color:#17130f!important}
.ttp-app__choice small{color:#6b6258!important}
.ttp-app__check{margin-bottom:10px!important}
.ttp-app__check b{color:#a52c23!important}
.ttp-app__submit{
  width:100%!important;
  min-height:58px!important;
  border:1px solid #d6a54a!important;
  background:linear-gradient(135deg,#e8bd69,#b87829)!important;
  color:#070707!important;
  text-transform:uppercase!important;
  letter-spacing:.15em!important;
  font-size:12px!important;
  font-weight:900!important;
  cursor:pointer!important;
}
.ttp-app__submit:disabled{opacity:.58!important;cursor:wait!important}
.ttp-app__status{display:none!important;margin-top:16px!important;padding:14px!important;border:1px solid transparent!important;font-weight:650!important}
.ttp-app__status.is-visible{display:block!important}
.ttp-app__status.is-success{background:#edf8ef!important;border-color:#82b88b!important;color:#194923!important}
.ttp-app__status.is-error{background:#fff0ed!important;border-color:#d79a90!important;color:#6e2117!important}
.ttp-app__status a{text-decoration:underline!important}
.ttp-app__privacy{margin:12px 0 0!important;text-align:center!important;color:#746a61!important;font-size:12px!important}
@media(max-width:920px){
  .ttp-app{grid-template-columns:1fr!important}
  .ttp-app__intro{position:static!important}
}
@media(max-width:680px){
  .ttp-app{width:min(100% - 24px,1180px)!important;padding:50px 0 58px!important;gap:24px!important}
  .ttp-app__intro{padding:28px 22px!important}
  .ttp-app__form{padding:24px 18px!important}
  .ttp-app__grid,.ttp-app__choices{grid-template-columns:1fr!important}
}
@media(prefers-reduced-motion:reduce){.ttp-app *{transition:none!important;scroll-behavior:auto!important}}



/* ===== THE THIRD PLACE NATIVE BOOKING APP ===== */
.ttp-booking-app{
  display:grid!important;
  grid-template-columns:minmax(300px,.7fr) minmax(0,1.3fr)!important;
  gap:48px!important;
  width:min(1180px,calc(100% - 40px))!important;
  max-width:1180px!important;
  margin:0 auto!important;
  padding:74px 0 88px!important;
  color:#fff!important;
  font-family:Inter,Arial,sans-serif!important;
}
.ttp-booking-app *{box-sizing:border-box!important}
.ttp-booking-app__intro{
  align-self:start!important;
  padding:34px 30px!important;
  background:linear-gradient(145deg,rgba(214,165,74,.1),rgba(255,255,255,.015)),#11100e!important;
  border:1px solid rgba(214,165,74,.35)!important;
  color:#fff!important;
  box-shadow:0 22px 50px rgba(0,0,0,.28)!important;
}
.ttp-booking-app__eyebrow{margin:0 0 12px!important;color:#e8bd69!important;font-size:12px!important;font-weight:900!important;letter-spacing:.2em!important;text-transform:uppercase!important}
.ttp-booking-app__intro h2{margin:0!important;color:#fff!important;font-family:'Playfair Display',Georgia,serif!important;font-size:clamp(2.7rem,4vw,4rem)!important;line-height:1.02!important;letter-spacing:-.035em!important}
.ttp-booking-app__intro>p{margin:18px 0 0!important;color:rgba(255,255,255,.76)!important}
.ttp-booking-app__details{display:grid!important;gap:10px!important;margin-top:28px!important}
.ttp-booking-app__details>div{padding:15px!important;border:1px solid rgba(214,165,74,.2)!important;background:rgba(255,255,255,.025)!important}
.ttp-booking-app__details strong,.ttp-booking-app__details span{display:block!important}
.ttp-booking-app__details strong{color:#e8bd69!important}
.ttp-booking-app__details span{margin-top:3px!important;color:rgba(255,255,255,.68)!important;font-size:13px!important}

.ttp-booking-app__calendar{
  min-width:0!important;
  padding:24px!important;
  background:#fffaf3!important;
  border:1px solid rgba(214,165,74,.45)!important;
  box-shadow:0 24px 60px rgba(0,0,0,.32)!important;
  color:#17130f!important;
}
.ttp-native-calendar__header{display:grid!important;grid-template-columns:44px 1fr 44px!important;gap:12px!important;align-items:center!important;margin-bottom:18px!important}
.ttp-native-calendar__header h3{margin:0!important;text-align:center!important;color:#17130f!important;font-family:'Playfair Display',Georgia,serif!important;font-size:1.8rem!important}
.ttp-native-calendar__nav{width:44px!important;height:44px!important;border:1px solid rgba(0,0,0,.16)!important;background:#fff!important;color:#17130f!important;cursor:pointer!important}
.ttp-native-calendar__weekdays,.ttp-native-calendar__grid{display:grid!important;grid-template-columns:repeat(7,1fr)!important;gap:7px!important}
.ttp-native-calendar__weekdays{margin-bottom:7px!important}
.ttp-native-calendar__weekdays span{text-align:center!important;color:#8b5d20!important;font-size:11px!important;font-weight:900!important;text-transform:uppercase!important}
.ttp-native-calendar__day{min-height:54px!important;border:1px solid rgba(0,0,0,.12)!important;background:#fff!important;color:#17130f!important;cursor:pointer!important;font-weight:700!important}
.ttp-native-calendar__day:hover,.ttp-native-calendar__day.is-selected{border-color:#d6a54a!important;background:#f5e7d1!important}
.ttp-native-calendar__day:disabled{opacity:.34!important;cursor:not-allowed!important;background:#f2eee8!important}
.ttp-native-calendar__day.is-empty{visibility:hidden!important}
.ttp-native-calendar__slots{margin-top:24px!important;padding-top:22px!important;border-top:1px solid rgba(0,0,0,.12)!important}
.ttp-native-calendar__slots h4{margin:0 0 12px!important;color:#17130f!important;font-family:'Playfair Display',Georgia,serif!important;font-size:1.4rem!important}
.ttp-native-calendar__slots [data-slot-list]{display:flex!important;flex-wrap:wrap!important;gap:9px!important}
.ttp-native-calendar__slot{min-height:42px!important;padding:9px 13px!important;border:1px solid rgba(214,165,74,.58)!important;background:#fff!important;color:#17130f!important;cursor:pointer!important;font-weight:700!important}
.ttp-native-calendar__slot:hover,.ttp-native-calendar__slot.is-selected{background:#d6a54a!important;color:#050505!important}
.ttp-native-booking-form{margin-top:24px!important;padding-top:24px!important;border-top:1px solid rgba(0,0,0,.12)!important}
.ttp-native-booking-form__summary{margin-bottom:18px!important;padding:14px!important;background:#f3e5d1!important;border-left:3px solid #d6a54a!important;font-weight:700!important}
.ttp-native-booking-form__grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px!important}
.ttp-native-booking-form__grid label{display:grid!important;gap:6px!important;color:#724c1f!important;font-size:11px!important;font-weight:900!important;letter-spacing:.08em!important;text-transform:uppercase!important}
.ttp-native-booking-form__grid label.full{grid-column:1/-1!important}
.ttp-native-booking-form__grid input,.ttp-native-booking-form__grid textarea{width:100%!important;padding:12px!important;border:1px solid rgba(0,0,0,.2)!important;background:#fff!important;color:#111!important;font:inherit!important;text-transform:none!important;letter-spacing:normal!important}
.ttp-native-booking-form__consent{display:flex!important;gap:10px!important;align-items:flex-start!important;margin:16px 0!important;color:#4f463e!important;font-size:13px!important}
.ttp-native-booking-form__submit{width:100%!important;min-height:56px!important;border:1px solid #d6a54a!important;background:linear-gradient(135deg,#e8bd69,#b87829)!important;color:#050505!important;text-transform:uppercase!important;letter-spacing:.14em!important;font-weight:900!important;cursor:pointer!important}
.ttp-native-booking-form__status{display:none!important;margin-top:14px!important;padding:14px!important}
.ttp-native-booking-form__status.is-visible{display:block!important}
.ttp-native-booking-form__status.is-success{background:#edf8ef!important;border:1px solid #82b88b!important;color:#194923!important}
.ttp-native-booking-form__status.is-error{background:#fff0ed!important;border:1px solid #d79a90!important;color:#6e2117!important}

@media(max-width:920px){.ttp-booking-app{grid-template-columns:1fr!important}}
@media(max-width:680px){
  .ttp-booking-app{width:min(100% - 24px,1180px)!important;padding:50px 0 58px!important;gap:24px!important}
  .ttp-booking-app__intro{padding:28px 22px!important}
  .ttp-booking-app__calendar{padding:14px!important}
  .ttp-native-calendar__weekdays,.ttp-native-calendar__grid{gap:4px!important}
  .ttp-native-calendar__day{min-height:46px!important}
  .ttp-native-booking-form__grid{grid-template-columns:1fr!important}
  .ttp-native-booking-form__grid label.full{grid-column:auto!important}
}
