/* A contained appointment invitation, using the site's shared spacing and controls. */
.rv-layout .appointment-invitation{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-block:48px;margin-block:24px 56px;border-block:1px solid #d8dbcf}
.rv-layout .appointment-invitation h2{margin:0 0 12px;font:500 clamp(28px,3vw,40px)/1.15 var(--font-body);letter-spacing:-.04em;color:#173e41}
.rv-layout .appointment-invitation p{margin:0;max-width:580px;font-size:16px;line-height:1.7;color:#596962}
.rv-layout .appointment-invitation .appointment-kicker{margin-bottom:18px;font-size:12px;letter-spacing:.08em;color:#74613d}
.rv-layout .appointment-invitation>a{flex-shrink:0}
.rv-layout .bx-reservation{--bx-ink:#173e41;--bx-muted:#596962;--bx-line:#d8dbcf;padding-block:32px 72px}
.rv-layout .bx-back{display:inline-flex;align-items:center;min-height:44px;color:#596962;text-decoration:underline;text-underline-offset:5px;font-size:14px}
.rv-layout .bx-reservation-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,.28fr);align-items:center;gap:48px;padding:36px 0 40px}
.rv-layout .bx-reservation-head h1{margin:0;color:var(--bx-ink);font:500 clamp(36px,4.1vw,56px)/1.1 var(--font-body);letter-spacing:-.045em}
.rv-layout .bx-reservation-head .bx-eyebrow{margin-bottom:16px}
.rv-layout .bx-reservation-head .bx-lead{font-size:17px;max-width:630px;margin-top:20px}
.rv-layout .bx-reservation-price{padding:26px 30px;background:#eeeee4;border:1px solid #d8dbcf;border-radius:20px}
.rv-layout .bx-reservation-price .bx-price{margin:0 0 18px}
.rv-layout .bx-reservation-price>p:last-child:not(.bx-price){margin:0;color:#596962;font-size:13px;line-height:1.6}
.rv-layout .bx-context{margin:18px 0 0;padding-inline-start:14px;border-inline-start:2px solid #a18a58;color:#52665f;font-size:14px;line-height:1.6}
.rv-layout .bx-context[hidden]{display:none}
.rv-layout .bx-booking-terms{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:0;padding:24px 0;border-block:1px solid var(--bx-line)}
.rv-layout .bx-booking-terms dt{margin-bottom:8px;color:var(--bx-muted);font-size:12px}
.rv-layout .bx-booking-terms dd{margin:0;color:var(--bx-ink);font-size:15px;line-height:1.6}
.rv-layout .bx-booking-limits{max-width:850px;margin:20px 0 32px;color:var(--bx-muted);font-size:13px;line-height:1.7}
.rv-layout .booking.bx-calendar{max-width:none;width:100%;margin:0;padding:0}
.rv-layout .bx-calendar-heading{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:24px 0;border-top:1px solid var(--bx-line)}
.rv-layout .bx-calendar-heading h2{margin:0;font:500 23px/1.4 var(--font-body);letter-spacing:-.025em;color:var(--bx-ink)}
.rv-layout .bx-calendar-heading p{margin:0;color:var(--bx-muted);font-size:13px;line-height:1.7;max-width:400px}
.rv-layout .bx-calendar .booking__frame{margin:0;border:1px solid #d8dbcf;border-radius:20px;overflow:hidden;background:#fff;box-shadow:none}
.rv-layout .bx-reservation-help{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:28px 0}
.rv-layout .bx-reservation-help h2{margin:0 0 8px;color:var(--bx-ink);font:500 20px/1.4 var(--font-body);letter-spacing:-.02em}
.rv-layout .bx-reservation-help p{margin:0;max-width:580px;color:var(--bx-muted);font-size:14px;line-height:1.7}
.rv-layout .bx-reservation-help .bx-button{flex-shrink:0}
@media(max-width:700px){
 .rv-layout .bx-booking-terms{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
 .rv-layout .appointment-invitation{display:block;padding-block:32px}
 .rv-layout .appointment-invitation>a{margin-top:24px}
 .rv-layout .bx-reservation{padding-block:20px 40px}
 .rv-layout .bx-reservation-head{grid-template-columns:1fr;gap:24px;padding:20px 0 28px}
 .rv-layout .bx-reservation-price{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px}
 .rv-layout .bx-reservation-price .bx-price{margin:0;font-size:32px}
 .rv-layout .bx-reservation-price>p:last-child:not(.bx-price){max-width:140px;text-align:end}
 .rv-layout .bx-calendar-heading{display:block;padding-block:20px}
 .rv-layout .bx-calendar-heading p{margin-top:8px}
 .rv-layout .bx-reservation-help{display:block;padding-block:24px}
 .rv-layout .bx-reservation-help .bx-button{margin-top:20px}
}
