/* Page-owned meal planning; shared branding supplies accents. */
.em-booking-hero{margin-bottom:1.5rem}.em-booking-hero h1{max-width:12ch}
.em-booking-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:2rem;align-items:start}
.em-planning-card{gap:1.25rem}.em-booking-side{display:grid;gap:1.5rem;min-width:0}
.em-booking-layout .em-section-label>.em-button{flex-shrink:0;white-space:nowrap}
.em-booking-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:end}
.em-booking-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-block:1rem}
.em-booking-fields label:has(textarea){grid-column:1/-1}
.em-commerce fieldset{padding:0;margin:0;border:0;min-width:0}.em-commerce legend{padding:0;line-height:1.6}
.em-slot-options>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:.75rem;max-height:24rem;overflow:auto;padding:.35rem}
.em-slot-option{display:flex;gap:.6rem;align-items:flex-start;border:.0625rem solid var(--em-line);border-radius:.65rem;background:var(--em-panel);padding:.85rem;cursor:pointer;font-size:.8125rem;min-height:3.75rem}
.em-slot-option:has(input:checked){background:var(--em-wash);border:.125rem solid var(--em-brand-ink);padding:.7875rem}
.em-commerce .em-slot-option input[type=radio]{width:1.125rem;min-width:1.125rem;min-height:1.125rem;height:1.125rem;padding:0;margin:.2rem 0 0;accent-color:var(--em-brand)}
.em-slot-option strong,.em-slot-option span{display:block}.em-slot-option small{display:block;color:var(--em-muted)}
.em-booking-list{display:grid;gap:1rem}.em-booking-record{border-top:.0625rem solid var(--em-line);padding-top:1rem;display:grid;gap:.7rem;min-width:0;overflow-wrap:anywhere}
.em-booking-record h3{font:500 1.8rem/1.1 var(--em-display)}.em-booking-record .em-actions .em-button{font-size:.8125rem;padding:.5rem .75rem}
.em-booking-record-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem}.em-booking-record .em-tag{font-weight:600;letter-spacing:.04em}
.em-booking-history{list-style:none;padding:0;margin:.5rem 0 0;display:grid;gap:.75rem;font-size:.8125rem}.em-booking-history li{border-inline-start:.125rem solid var(--em-line);padding-inline-start:.75rem}.em-booking-history time{display:block;color:var(--em-muted)}
.em-booking-management{border-top:.0625rem solid var(--em-line);padding-top:2rem;margin-top:2rem}.em-booking-management>.em-section-label h2{font:500 2.75rem/1.1 var(--em-display)}
.em-booking-check{display:flex;align-items:center;gap:.7rem;min-height:2.75rem;font-size:.875rem}
.em-booking-hours{display:grid;gap:.5rem;margin-block:1rem}.em-booking-hours-row{display:grid;grid-template-columns:7rem minmax(0,1fr) minmax(0,1fr);gap:.5rem;align-items:center;border-top:.0625rem solid var(--em-line);padding-block:.75rem}
.em-booking-hours-row .em-field{font-size:.75rem}.em-booking-hours-row input[type=time]{padding:.6rem .5rem}
#booking-policy-status[role=alert],#booking-preview-status[role=alert]{color:var(--em-ink);border-inline-start:.25rem solid var(--em-brand-ink);padding-inline-start:.75rem}
@media(max-width:64rem){.em-booking-layout{gap:1.25rem}.em-slot-options>div{grid-template-columns:1fr}}
@media(max-width:48rem){.em-booking-layout{grid-template-columns:1fr}.em-booking-hero .em-hero-note{display:grid;transform:none}.em-booking-hero .em-stamp{font-size:2rem}.em-slot-options>div{grid-template-columns:repeat(2,minmax(0,1fr))}.em-booking-management>.em-section-label{align-items:flex-start;flex-direction:column}}
@media(max-width:30rem){.em-booking-fields,.em-slot-options>div,.em-booking-search{grid-template-columns:1fr}.em-booking-hours-row{grid-template-columns:1fr 1fr}.em-booking-hours-row>.em-booking-check{grid-column:1/-1}.em-booking-hours-row input[type=time]{min-width:0}}
/* 12px floor; the viewer's own time is the line they act on (DS3 UX-14). */
.em-slot-option small{font-size:var(--em-text-xs)}
.em-slot-option .em-slot-local{font-weight:600;color:var(--em-ink)}
.em-dst-note{margin-block:.5rem}
