/* Booking pages: get-a-quote, prices-booking, inquiry-services-page, pricing-plans/plans-pricing, fallpromo,
   texasroadhouse. Every class starts with bk-. Shared look stays in site.css. */

/* Gold rule above the footer, as on the live pages (the home page gets it from .occasions). */

/* ---------- Get a Quote: intro (black) ---------- */
.bk-intro { background: var(--black); color: var(--white); padding: 34px var(--gutter) 34px; text-align: center; }
.bk-intro__title { font: 40px/1.4 var(--f-luxe); text-transform: uppercase; display: inline-block; }
.bk-intro__title::after { content: ""; display: block; width: min(795px, 80vw); height: 3px; background: var(--white); margin: 16px auto 0; }
.bk-intro__sub { font: 700 26px/1.4 var(--f-luxe); text-transform: uppercase; margin-top: 30px; }
.bk-intro__text { max-width: 944px; margin: 0 auto; text-align: left; font: 20px/28px var(--f-body); }
.bk-intro__text p + p { margin-top: 28px; }
.bk-intro__lead { font: 22px/1.1 var(--f-body); margin-top: 40px; }

/* ---------- Get a Quote: the two paths (white card on the bokeh photo) ---------- */
.bk-paths {
  background: var(--black) url(/assets/img/a53f79_f6377f18be724f94af27ebb964951f56.jpg) center top / cover;
  padding: 17px var(--gutter) 48px; border-bottom: 6px solid var(--black);
}
.bk-paths__card { max-width: 1110px; margin: 0 auto; background: var(--white); padding: 18px 36px 30px 22px; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.4); }
.bk-path + .bk-path { border-top: 1px solid var(--black); margin: 0 0 0 -9px; padding: 14px 0 0 9px; width: calc(100% - 15px); }
.bk-path__head { display: flex; align-items: baseline; flex-wrap: wrap; gap: 0 12px; font-weight: 400; }
.bk-path__num { font: 45px/63px var(--f-script); }
.bk-path__title { font: 700 24px/33.6px var(--f-serif); text-transform: uppercase; color: var(--black); }
.bk-path__body { padding-left: 33px; font: 20px/28px var(--f-body); color: var(--black); }
.bk-path__body p { margin-top: 0; }
.bk-path__body > * + * { margin-top: 28px !important; }
.bk-path__body ul { margin-bottom: 0; padding-left: 36px; }
.bk-path__body ul:not(.bk-path__spaced) + p { margin-top: 28px; }
.bk-path__body p + ul:not(.bk-path__spaced) { margin-top: 0 !important; }
.bk-path__spaced li + li { margin-top: 28px; }
.bk-path:first-child .bk-path__body { padding-bottom: 14px; }
.bk-path:first-child .bk-path__head { margin-bottom: 18px; }
.bk-path + .bk-path .bk-path__head { margin-bottom: 18px; }

/* ---------- Get a Quote: occasion cards (gold) ---------- */
.bk-occasions { background: var(--gold); padding: 44px var(--gutter) 40px; text-align: center; }
.bk-occasions__title { font: 700 28px/39.2px var(--f-luxe); text-transform: uppercase; }
.bk-occasions__lead { max-width: 960px; margin: 22px auto 0; font: 24px/33.6px var(--f-body); }
.bk-occasions__grid { list-style: none; margin: 34px auto 0; padding: 0; max-width: 1160px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.bk-occ { background: var(--white); padding: 22px 11px 43px; display: flex; flex-direction: column; align-items: center; }
.bk-occ__name { font: 20px/1.3 var(--f-luxe); letter-spacing: 2px; text-transform: uppercase; color: var(--black); text-decoration: none; margin-bottom: 9px; }
.bk-occ__img { display: block; width: 100%; }
.bk-occ__img img { width: 100%; aspect-ratio: 548 / 365; object-fit: cover; }
.bk-occ__btns { display: flex; justify-content: center; gap: 32px; margin-top: 9px; flex-wrap: wrap; }
.bk-btn-line {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-width: 215px; min-height: 40px; padding: 0 14px;
  border: 1px solid var(--gold-deep); color: var(--gold-deep); background: var(--white); text-decoration: none;
  font: 18px/1 var(--f-body); letter-spacing: 1.8px; text-transform: uppercase;
}
.bk-btn-line::after { content: "›"; font-size: 22px; line-height: 1; margin-top: -3px; }
.bk-btn-line:hover { background: var(--gold-deep); color: var(--white); }

/* ---------- Empty Wix Bookings / Pricing Plans widgets ---------- */
.bk-empty { background: var(--white); padding: 20px var(--gutter) 24px; }
.bk-empty__box { max-width: 940px; margin: 0 auto; min-height: 276px; border: 1px solid #d0d0d0; display: flex; align-items: center; justify-content: center; text-align: center; padding: 24px; }
.bk-empty__msg { font: 28px/1.3 var(--f-luxe); text-transform: uppercase; }
.bk-services { background: var(--white); padding: 30px var(--gutter) 34px; }
.bk-services__inner { max-width: 980px; margin: 0 auto; }
.bk-services__kicker { font: 24px/1.3 var(--f-luxe); text-transform: uppercase; }
.bk-services__title { font: 40px/1.3 var(--f-luxe); text-transform: uppercase; margin-top: 22px; }
.bk-services .bk-empty__box { border: 0; min-height: 300px; margin-top: 32px; background: #fdfdfd; }
.bk-plans { background: var(--white); padding: 22px var(--gutter); text-align: center; }
.bk-plans__title { font: 700 20px/1.4 var(--f-body); }
.bk-plans__text { font: 16px/1.4 var(--f-body); margin-top: 4px; }
.bk-plans__btn { display: inline-block; margin-top: 12px; padding: 10px 24px; background: var(--black); color: var(--white); text-decoration: none; font: 16px/1 var(--f-body); }

/* ---------- Fall promo: text left, photo + claim form right ---------- */
.bk-promo { position: relative; background: linear-gradient(to right, var(--white) 50%, rgb(226, 205, 138) 50%); min-height: 1660px; }
.bk-promo__inner { position: relative; max-width: 1440px; margin: 0 auto; display: grid; grid-template-columns: 50% 50%; }
.bk-promo__text { padding: 190px 40px 60px 130px; }
.bk-promo__title { font: 56px/84px var(--f-luxe); text-transform: uppercase; }
.bk-promo__list { margin: 60px 0 0; padding-left: 32px; font: 22px/31px var(--f-body); }
.bk-promo__media { position: relative; padding-top: 90px; }
.bk-promo__photo { width: 100%; height: 813px; object-fit: cover; }
.bk-promo__form { position: absolute; top: 275px; left: 231px; width: 370px; min-height: 817px; background: var(--white); padding: 52px 38px 30px 42px; }

/* Disabled stand-in for a Wix form */
.bk-form__title { font: 700 20px/1.4 var(--f-body); text-align: center; margin-bottom: 20px; }
.bk-form fieldset { border: 0; margin: 0; padding: 0; }
.bk-form__field { display: block; margin-bottom: 26px; }
.bk-form__field span { display: block; font: 14px/1.4 var(--f-body); }
.bk-form__field input { display: block; width: 100%; border: 0; border-bottom: 1px solid var(--black); background: transparent; padding: 10px 0 8px; font: 14px/1.4 var(--f-body); color: var(--black); }
.bk-form__field input::placeholder { color: var(--black); }
.bk-form__btn { display: block; width: 100%; margin-top: 118px; padding: 12px; border: 0; background: var(--gold-deep); color: var(--white); font: 14px/1.2 var(--f-body); cursor: not-allowed; }
.bk-form__note { margin-top: 18px; font: 14px/1.4 var(--f-body); text-align: center; }
.bk-form__note a { color: var(--black); }

/* ---------- Texas Roadhouse landing page ---------- */
.bk-rh-intro { padding: 66px var(--gutter) 30px; text-align: center; }
.bk-rh-intro__title { font: 700 40px/1.4 var(--f-luxe); text-transform: uppercase; }
.bk-rh-intro__text { max-width: 960px; margin: 18px auto 0; font: 24px/34px var(--f-body); }
.bk-rh-intro__btns { display: flex; justify-content: center; gap: 150px; margin-top: 40px; flex-wrap: wrap; }
.bk-btn-solid { display: inline-flex; align-items: center; justify-content: center; min-width: 195px; min-height: 40px; padding: 0 10px; background: var(--gold-deep); color: var(--white); text-decoration: none; font: 20px/1 var(--f-body); }
.bk-btn-solid:hover { background: var(--black); }
.bk-rh-video { background: var(--black); }
.bk-rh-video video { width: 980px; max-width: 100%; height: 523px; margin: 0 auto; object-fit: cover; }
.bk-rh-about { padding: 46px var(--gutter) 56px; }
.bk-rh-about > * { max-width: 948px; margin-left: auto; margin-right: auto; }
.bk-rh-about h2 { max-width: 1040px; font: 38px/1.4 var(--f-luxe); text-transform: uppercase; text-align: center; }
.bk-rh-about h2 a { color: var(--black); }
.bk-rh-about h2:not(:first-child) { margin-top: 70px; }
.bk-rh-about p, .bk-rh-about ul { font: 18px/25px var(--f-body); margin-top: 0; margin-bottom: 0; }
.bk-rh-about .bk-rh-about__center { text-align: center; line-height: 32.4px; }
.bk-rh-about ul { padding-left: 33px; }
.bk-rh-about ul.bk-rh-about__gap { margin-top: 24px; }
.bk-rh-ask { position: relative; padding: 30px var(--gutter) 30px; }
.bk-rh-ask::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 180px; background: var(--glitter) center / cover; }
.bk-rh-ask__box { position: relative; max-width: 762px; margin: 0 auto; border: 2px solid var(--black); background: rgba(255, 255, 255, 0.6); padding: 6px 20px 18px; text-align: center; font: 20px/28px var(--f-body); }
.bk-rh-ask__title { font: 64px/1.2 "Elegant Golden Script", var(--f-script); }
.bk-rh-ask__title a { color: var(--black); text-decoration: none; }
.bk-rh-ask__btn { display: inline-flex; align-items: center; justify-content: center; min-width: 210px; min-height: 45px; margin-top: 22px; background: #2a2a2a; color: var(--white); text-decoration: none; font: 15px/1 var(--f-body); }
.bk-rh-ask__btn:hover { background: var(--gold-deep); }
.bk-rh-perk { padding: 26px var(--gutter) 22px; font: 20px/28px var(--f-body); }
.bk-rh-perk > * { max-width: 980px; margin-left: auto; margin-right: auto; }
.bk-rh-perk h2 { font: 700 26px/1.4 var(--f-luxe); text-transform: uppercase; margin-bottom: 38px; }
.bk-rh-perk p + p, .bk-rh-perk p + ul, .bk-rh-perk ul + p { margin-top: 28px; }
.bk-rh-perk ul { padding-left: 36px; margin-bottom: 0; }
.bk-rh-perk a { color: inherit; font-weight: 700; }
.bk-rh-perk__center { text-align: center; }
.bk-rh-perk__fine { text-align: center; font-style: italic; line-height: 23px; margin-top: 22px !important; }
.bk-rh-perk__center + .bk-rh-perk__center { margin-top: 18px !important; }
.bk-rh-perk--dark { background: var(--black); color: var(--white); padding-top: 22px; }
.bk-rh-perk--dark h2 { margin-left: max(0px, calc((100% - 980px) / 2 + 8px)); }
.bk-rh-perk--dark li p + p { margin-top: 28px; }

/* ---------- Phone and small tablet ---------- */
@media (max-width: 1100px) {
  .bk-intro__title { font-size: clamp(24px, 6.4vw, 40px); }
  .bk-intro__sub { font-size: clamp(19px, 5vw, 26px); margin-top: 22px; }
  .bk-intro__text { font-size: 17px; line-height: 24px; margin-top: 10px; }
  .bk-intro__lead { font-size: 18px; line-height: 1.35; margin-top: 28px; }

  .bk-paths__card { padding: 16px 16px 24px; }
  .bk-path__num { font-size: 36px; line-height: 48px; }
  .bk-path__title { font-size: 20px; line-height: 1.35; }
  .bk-path__body { padding-left: 0; font-size: 17px; line-height: 24px; }
  .bk-path__body > * + * { margin-top: 22px !important; }
  .bk-path__body ul { padding-left: 22px; }
  .bk-path + .bk-path { width: 100%; margin: 0; padding: 12px 0 0; }

  .bk-occasions__title { font-size: clamp(21px, 5.4vw, 28px); line-height: 1.35; }
  .bk-occasions__lead { font-size: 18px; line-height: 1.4; }
  .bk-occasions__grid { grid-template-columns: 1fr; max-width: 570px; }
  .bk-occ { padding-bottom: 22px; }
  .bk-occ__btns { gap: 12px; }
  .bk-btn-line { min-width: 0; flex: 1 1 140px; min-height: 44px; padding: 0 8px; font-size: 14px; letter-spacing: 1px; white-space: nowrap; }

  .bk-empty__box { min-height: 200px; }
  .bk-empty__msg { font-size: clamp(20px, 5.4vw, 30px); }
  .bk-services__kicker { font-size: 18px; }
  .bk-services__title { font-size: clamp(28px, 8vw, 40px); }
  .bk-services .bk-empty__box { min-height: 200px; }

  .bk-promo { background: var(--white); min-height: 0; }
  .bk-promo__inner { grid-template-columns: 1fr; }
  .bk-promo__text { padding: 40px var(--gutter) 36px; }
  .bk-promo__title { font-size: clamp(30px, 8.4vw, 56px); line-height: 1.4; }
  .bk-promo__list { margin-top: 28px; padding-left: 24px; font-size: 18px; line-height: 26px; }
  .bk-promo__media { padding: 0 0 40px; background: rgb(226, 205, 138); }
  .bk-promo__photo { height: auto; aspect-ratio: 870 / 653; }
  .bk-promo__form { position: relative; top: auto; left: auto; width: auto; min-height: 0; margin: -60px var(--gutter) 0; padding: 32px 22px 26px; }
  .bk-form__btn { margin-top: 30px; min-height: 44px; }

  .bk-rh-intro { padding-top: 40px; }
  .bk-rh-intro__title { font-size: clamp(24px, 6.6vw, 40px); }
  .bk-rh-intro__text { font-size: 18px; line-height: 26px; }
  .bk-rh-intro__btns { gap: 16px; margin-top: 28px; }
  .bk-btn-solid { min-height: 44px; font-size: 18px; flex: 0 1 195px; }
  .bk-rh-video video { height: auto; aspect-ratio: 16 / 9; }
  .bk-rh-about { padding-top: 36px; padding-bottom: 40px; }
  .bk-rh-about h2 { font-size: clamp(26px, 7.4vw, 38px); line-height: 1.3; }
  .bk-rh-about h2:not(:first-child) { margin-top: 44px; }
  .bk-rh-about ul { padding-left: 22px; }
  .bk-rh-ask::before { height: 140px; }
  .bk-rh-ask__title { font-size: clamp(40px, 11.5vw, 64px); }
  .bk-rh-ask__box { font-size: 17px; line-height: 24px; padding: 6px 14px 18px; }
  .bk-rh-perk { font-size: 17px; line-height: 24px; }
  .bk-rh-perk h2 { font-size: 22px; margin-bottom: 24px; }
  .bk-rh-perk ul { padding-left: 22px; }
  .bk-rh-perk--dark h2 { margin-left: auto; }
}
