/* New booking channels: widget reference warm paper/olive; waitlist inherits NBI. */
.guest-stripe-deposit { margin:24px 0; padding:18px 0; border-block:1px solid var(--guest-border); text-align:left; min-width:0; }
.guest-stripe-deposit header { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:10px; }
.guest-stripe-deposit header h3 { font-size:15px; font-weight:600; line-height:1.5; }
.guest-stripe-deposit header > span { font-size:9px; color:var(--guest-muted); border:1px solid var(--guest-border); border-radius:4px; padding:3px 5px; white-space:nowrap; }
.guest-stripe-deposit > p { color:var(--guest-muted); font-size:12px; line-height:1.7; }
.guest-stripe-summary { margin:16px 0; padding:14px; background:var(--guest-surface); border:1px solid var(--guest-border); border-radius:6px; }
.guest-stripe-summary > div { display:flex; justify-content:space-between; gap:12px; align-items:baseline; }
.guest-stripe-summary > div span { font-size:12px; }
.guest-stripe-summary > div strong { font-size:18px; font-variant-numeric:tabular-nums; }
.guest-stripe-summary > p { font-size:12px; margin-top:9px; font-weight:600; }
.guest-stripe-summary > small { display:block; color:var(--guest-muted); font-size:11px; line-height:1.6; margin-top:4px; }
.guest-stripe-summary dl { display:flex; gap:24px; padding-top:12px; margin-top:12px; border-top:1px solid var(--guest-border); }
.guest-stripe-summary dt { font-size:11px; color:var(--guest-muted); }
.guest-stripe-summary dd { margin:3px 0 0; font-size:13px; font-variant-numeric:tabular-nums; }
.guest-stripe-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.guest-stripe-cancel { padding-top:8px; font-size:13px; }
.guest-stripe-cancel .guest-actions { margin-top:14px; }
.guest-stripe-recovery { overflow-wrap:anywhere; }
@media(max-width:640px) {
  .guest-stripe-deposit header { flex-wrap:wrap; align-items:flex-start; gap:7px; }
  .guest-stripe-actions { flex-direction:column; align-items:stretch; }
  .guest-stripe-actions .guest-text-button { align-self:flex-start; }
  .guest-stripe-summary { padding:12px; }
  .guest-stripe-summary > div { flex-wrap:wrap; gap:5px; }
  .guest-stripe-summary > div strong { font-size:17px; }
  .guest-stripe-recovery .guest-secondary { width:100%; }
}
.guest-theme { color-scheme: light; background: #faf7ee; }
.guest-theme body { min-width: 0; background: #faf7ee; }
.guest-shell { --guest-paper: #faf7ee; --guest-surface: #fffefa; --guest-ink: #29291f; --guest-muted: #6c6b5d; --guest-border: #deded2; --guest-green: #638b3b; --guest-selected: #e4e9d1; min-height: 100dvh; background: var(--guest-paper); color: var(--guest-ink); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 14px; line-height: 1.6; }
.guest-shell * { box-sizing: border-box; }
.guest-shell :is(button, input, select, textarea) { font: inherit; }
.guest-shell :is(button, input, select, textarea):disabled { opacity: .5; cursor: not-allowed; }
.guest-shell :is(button, input, select, textarea, a):focus-visible { outline: 3px solid #648338; outline-offset: 3px; }
.guest-shell svg { flex-shrink: 0; stroke-width: 1.7; }
.guest-shell :is(h1, h2, h3, p, ol, dl) { margin: 0; }
.guest-shell h1, .guest-shell h2, .guest-service-choice strong { font-family: Georgia, "Times New Roman", serif; }
.guest-shell h2 { font-size: 26px; line-height: 1.25; font-weight: 600; letter-spacing: -.035em; }
.guest-header { background: #526134; color: #fffdf2; border-bottom: 1px solid #46572b; }
.guest-header-content { max-width: 800px; margin: 0 auto; padding: 30px 22px 24px; position: relative; }
.guest-eyebrow { font-size: 10px; line-height: 1.5; letter-spacing: .17em; font-weight: 600; }
.guest-header h1 { font-size: 28px; line-height: 1.25; font-weight: 500; letter-spacing: -.025em; margin: 12px 0 6px; overflow-wrap: anywhere; }
.guest-header-content > p:last-of-type { color: #e5e9d8; font-size: 13px; }
.guest-local-label { display: inline-block; margin-top: 16px; font-size: 10px; letter-spacing: .015em; color: #e3e8d3; border-top: 1px solid #798760; padding-top: 10px; }
.guest-steps { display: flex; max-width: 800px; padding: 18px 22px; list-style: none; margin: 0 auto !important; gap: 12px; border-bottom: 1px solid var(--guest-border); }
.guest-steps li { display: flex; align-items: center; gap: 7px; color: #787768; font-size: 11px; white-space: nowrap; }
.guest-steps li > span { width: 20px; height: 20px; border: 1px solid #c9cbb9; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 10px; }
.guest-steps li[aria-current="step"] { color: #486b26; font-weight: 600; }
.guest-steps li[aria-current="step"] > span { background: #638b3b; color: white; border-color: #638b3b; }
.guest-main { max-width: 800px; margin: 0 auto; padding: 24px 22px 30px; min-width: 0; }
.guest-step-anchor { height: 0; outline: none; }
.guest-selection > h2 { margin-bottom: 20px; }
.guest-visit-controls, .guest-fields-pair { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
.guest-visit-controls { padding: 16px; border: 1px solid var(--guest-border); border-radius: 12px; background: var(--guest-surface); margin-bottom: 24px; }
.guest-field { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.guest-field > span { font-size: 12px; font-weight: 600; display: flex; align-items: center; gap: 6px; }
.guest-field > span small { font-weight: 400; color: var(--guest-muted); margin-left: auto; }
.guest-field :is(input, select, textarea) { width: 100%; min-width: 0; min-height: 46px; border: 1px solid #cbcebc; padding: 10px 11px; border-radius: 6px; color: var(--guest-ink); background: #fffefa; font-size: 16px; }
.guest-field :is(input, select, textarea):hover:not(:disabled) { border-color: #8a9b6d; }
.guest-field textarea { resize: vertical; line-height: 1.6; }
.guest-choice-group { border: 0; padding: 0; margin: 0 0 24px; min-width: 0; }
.guest-choice-group > legend { font-size: 11px; color: var(--guest-muted); letter-spacing: .1em; text-transform: uppercase; padding: 0; margin-bottom: 10px; }
.guest-service-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.guest-service-choice { min-height: 120px; border: 1px solid var(--guest-border); border-radius: 12px; background: #fffefa; color: var(--guest-ink); text-align: left; display: flex; flex-direction: column; padding: 16px; gap: 9px; }
.guest-service-choice strong { font-size: 18px; line-height: 1.3; font-weight: 600; letter-spacing: -.025em; overflow-wrap: anywhere; }
.guest-service-choice span { display: flex; align-items: center; gap: 5px; font-size: 11px; color: var(--guest-muted); }
.guest-service-choice small { font-size: 10px; color: var(--guest-muted); margin-top: auto; }
.guest-service-choice[aria-pressed="true"] { color: #446325; border-color: #658c3c; background: var(--guest-selected); box-shadow: inset 0 0 0 1px #658c3c; }
.guest-service-choice[aria-pressed="true"] :is(span, small) { color: #526c36; }
.guest-service-choice:hover:not([aria-pressed="true"]) { background: #f2f3e8; border-color: #b0baa0; }
.guest-section-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
.guest-section-choice { display: flex; justify-content: space-between; align-items: center; gap: 8px; min-height: 48px; text-align: left; padding: 11px 14px; border: 1px solid var(--guest-border); border-radius: 7px; background: #fffefa; color: var(--guest-ink); font-size: 13px; }
.guest-section-choice[aria-pressed="true"] { background: var(--guest-selected); border-color: #658c3c; color: #436524; }
.guest-section-choice:hover:not([aria-pressed="true"]) { background: #f2f3e8; }
.guest-times > h2 { margin-bottom: 18px; }
.guest-times-panel { background: #fffefa; border: 1px solid var(--guest-border); border-radius: 16px; padding: 16px; box-shadow: 0 6px 18px #3839210a; }
.guest-times-panel > h3 { display: flex; align-items: center; gap: 8px; padding-bottom: 13px; margin-bottom: 14px; border-bottom: 1px solid var(--guest-border); font-family: Georgia, "Times New Roman", serif; font-size: 18px; line-height: 1.35; }
.guest-times-panel > h3 svg { color: #658b3c; }
.guest-time-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.guest-time-grid > button { min-height: 48px; border: 1px solid #d3d7c7; border-radius: 8px; background: #fffefa; color: var(--guest-ink); padding: 9px 4px; font-size: 12px; line-height: 1.4; font-weight: 600; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; }
.guest-time-grid > button small { font-size: 10px; font-weight: 400; }
.guest-time-grid > button[aria-pressed="true"] { background: #638b3b; color: white; border-color: #638b3b; }
.guest-time-grid > button:hover:not([aria-pressed="true"]) { background: #edf1e1; border-color: #a6b690; }
.guest-no-times { padding: 6px 0; font-size: 13px; line-height: 1.6; }
.guest-no-times p { color: var(--guest-muted); margin-top: 8px; }
.guest-standby { padding: 17px 0 0; }
.guest-standby h3 { font-size: 14px; margin-bottom: 4px; }
.guest-standby > p { color: var(--guest-muted); font-size: 12px; margin-bottom: 12px; }
.guest-standby .guest-time-grid button:not([aria-pressed="true"]) { background: #f4f4e8; }
.guest-primary, .guest-secondary { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; border-radius: 7px; padding: 12px 17px; border: 1px solid #638b3b; color: white; background: #638b3b; font-weight: 600; line-height: 1.4; text-decoration: none; }
.guest-primary:hover:not(:disabled) { background: #537a2e; border-color: #537a2e; }
.guest-secondary { background: #fffefa; color: #4b622f; border-color: #c7ccbb; }
.guest-secondary:hover:not(:disabled) { background: #e9eedc; border-color: #9eaf85; }
.guest-danger { color: #8c4036; border-color: #cdaea0; }
.guest-text-button { display: inline-flex; align-items: center; gap: 7px; min-height: 44px; border: 0; background: transparent; color: #486b26; font-size: 13px; padding: 7px 2px; border-radius: 3px; text-decoration: underline; text-underline-offset: 3px; }
.guest-text-button:hover { color: #2e5014; }
.guest-selection-action { margin-top: 28px; display: flex; flex-direction: column; gap: 10px; }
.guest-selection-action > p { color: #48682b; font-size: 13px; text-align: center; overflow-wrap: anywhere; }
.guest-selection-action > .guest-primary { width: 100%; min-height: 52px; }
.guest-selection-action > small { text-align: center; color: var(--guest-muted); font-size: 11px; }
.guest-notice { padding: 14px; border-radius: 6px; border: 1px solid #c5cdb5; background: #eff2e5; color: #486033; margin: 0 0 20px !important; font-size: 13px; line-height: 1.65; overflow-wrap: anywhere; }
.guest-notice > p { margin-top: 5px; }
.guest-error { border-color: #d7b2a4; color: #874435; background: #fff1e9; }
.guest-error .guest-text-button { color: #874435; }
.guest-loading, .guest-empty { min-height: 148px; padding: 24px 18px; border: 1px solid var(--guest-border); border-radius: 8px; color: var(--guest-muted); background: #fffefa; }
.guest-empty > h3 { color: var(--guest-ink); font-size: 16px; }
.guest-empty > p { margin-top: 8px; font-size: 13px; }
.guest-empty > button { margin-top: 15px; }
.guest-contact > h2 { margin-bottom: 20px; }
.guest-summary { padding: 15px 16px; border: 1px solid var(--guest-border); border-radius: 8px; background: #fffefa; display: grid; gap: 7px; margin-bottom: 24px; }
.guest-summary p { display: flex; align-items: center; gap: 8px; font-size: 13px; overflow-wrap: anywhere; }
.guest-summary svg { color: #6c8152; }
.guest-summary .guest-standby-note { margin-top: 4px; padding-top: 10px; border-top: 1px solid var(--guest-border); color: #687449; font-size: 12px; }
.guest-contact > fieldset { min-width: 0; border: 0; padding: 0; margin: 0; display: grid; gap: 16px; }
.guest-contact > fieldset > legend { font-size: 15px; font-weight: 600; padding: 0; margin-bottom: 12px; }
.guest-helper { font-size: 12px; color: var(--guest-muted); margin-top: -7px !important; }
.guest-policy { padding-top: 6px; }
.guest-policy > h3 { font-size: 14px; margin-bottom: 8px; }
.guest-policy > p { font-size: 12px; color: var(--guest-muted); margin-bottom: 8px; }
.guest-checkbox { display: flex; align-items: flex-start; gap: 9px; min-height: 44px; font-size: 12px; margin-top: 8px; padding-top: 6px; }
.guest-checkbox input { width: 18px; height: 18px; margin: 2px 0 0; accent-color: #638b3b; flex-shrink: 0; }
.guest-checkbox small { display: block; font-size: 11px; color: var(--guest-muted); }
.guest-actions { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-end; margin-top: 24px; }
.guest-actions > button { flex: 1 1 180px; }
.guest-receipt { padding-top: 6px; }
.guest-receipt-icon { width: 56px; height: 56px; display: flex; align-items: center; justify-content: center; border: 1px solid #ccd7b6; border-radius: 50%; color: #638b3b; background: #ecf1df; margin-bottom: 18px; }
.guest-receipt > .guest-eyebrow { color: #5b7741; margin-bottom: 9px; }
.guest-receipt > h2 { font-size: 26px; margin-bottom: 12px; overflow-wrap: anywhere; }
.guest-receipt-intro { color: var(--guest-muted); font-size: 13px; max-width: 58ch; }
.guest-receipt-details { border-top: 1px solid var(--guest-border); border-bottom: 1px solid var(--guest-border); margin: 24px 0 !important; padding: 12px 0; }
.guest-receipt-details > div { display: grid; grid-template-columns: 105px minmax(0, 1fr); gap: 10px; padding: 7px 0; font-size: 13px; }
.guest-receipt-details dt { color: var(--guest-muted); }
.guest-receipt-details dd { margin: 0; font-weight: 550; overflow-wrap: anywhere; }
.guest-cancel { padding-bottom: 20px; }
.guest-cancel > p { font-size: 13px; }
.guest-cancel .guest-actions { margin-top: 12px; }
.guest-receipt > .guest-primary { width: 100%; }
.guest-footer { margin-top: 36px; padding-top: 20px; border-top: 1px solid var(--guest-border); color: #939281; font-size: 10px; text-align: center; }
.guest-footer > span { font-size: 19px; color: #787c69; letter-spacing: -.045em; }
.guest-footer > span small { font-size: 8px; margin-left: 4px; letter-spacing: .1em; }
.guest-footer > p { margin-top: 5px; font-size: 10px; }

.nbi-waitlist { min-width: 0; }
.nbi-waitlist-intro { margin: -10px 0 18px; max-width: 70ch; }
.nbi-waitlist-search { flex: 1 1 180px; }
.nbi-waitlist-search input { font-size: 13px !important; }
.nbi-waitlist-list { list-style: none; padding: 0; margin: 0; border: 1px solid var(--border); border-radius: 8px; background: var(--card); overflow: hidden; }
.nbi-waitlist-row { display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 11px; padding: 17px 15px; border-bottom: 1px solid var(--border); min-width: 0; }
.nbi-waitlist-row:last-child { border-bottom: 0; }
.nbi-waitlist-row:hover { background: var(--nbi-raised); }
.nbi-waitlist-position { width: 26px; height: 26px; display: flex; align-items: center; justify-content: center; font-size: 11px; border: 1px solid #664153; border-radius: 50%; color: var(--muted); margin-top: 1px; }
.nbi-waitlist-guest { min-width: 0; }
.nbi-waitlist-guest > strong { display: block; font-size: 14px; line-height: 20px; overflow-wrap: anywhere; }
.nbi-waitlist-meta { display: flex; gap: 7px 12px; flex-wrap: wrap; font-size: 12px; color: var(--muted); margin-top: 5px; }
.nbi-waitlist-meta > span { display: inline-flex; align-items: center; gap: 4px; }
.nbi-waitlist-contact, .nbi-waitlist-notes, .nbi-waitlist-deadline { margin: 6px 0 0; color: #bda7b5; font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.nbi-waitlist-notes { white-space: pre-wrap; }
.nbi-waitlist-deadline { color: #d5b984; }
.nbi-waitlist-tags { display: flex; gap: 7px; flex-wrap: wrap; margin-top: 9px; }
.nbi-waitlist-source, .nbi-waitlist-status { display: inline-flex; align-items: center; border: 1px solid #654255; border-radius: 4px; padding: 2px 6px; font-size: 10px; line-height: 16px; color: #cfb7c6; }
.nbi-waitlist-status.notified { border-color: #786645; color: #dfc698; }
.nbi-waitlist-status.converted { color: #bed4ad; border-color: #58714b; }
.nbi-waitlist-status.cancelled, .nbi-waitlist-status.expired { color: #ae98a7; }
.nbi-waitlist-actions { grid-column: 2; display: flex; align-items: center; gap: 2px 8px; flex-wrap: wrap; }
.nbi-waitlist-actions .nbi-text-button { font-size: 12px; }
.nbi-waitlist-notice { padding: 12px 14px; background: #2d3022; color: #cdd7b6; border: 1px solid #596347; border-radius: 6px; margin-bottom: 18px; font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
.nbi-waitlist-form { display: grid; gap: 15px; }
.nbi-waitlist-form > fieldset { padding: 0; margin: 0; border: 0; min-width: 0; display: grid; gap: 15px; }
.nbi-waitlist-fields { display: grid; grid-template-columns: minmax(0, 1fr); gap: 15px; }
.nbi-waitlist-form .nbi-field small { margin-left: 5px; }
.nbi-waitlist-form .nbi-field input { font-size: 16px; }
.nbi-waitlist-form .nbi-error { margin-bottom: 0; }
.nbi-waitlist-convert-summary { border: 1px solid var(--border); border-radius: 6px; padding: 14px; background: #230b1a; }
.nbi-waitlist-convert-summary > strong { font-size: 15px; overflow-wrap: anywhere; }
.nbi-waitlist-convert-summary > p { margin: 7px 0 5px; font-size: 13px; color: var(--muted); }
.nbi-waitlist-convert-summary > span { font-size: 11px; color: var(--muted); }
.nbi-waitlist-table-options { border-top: 1px solid var(--border); padding-top: 15px; }
.nbi-waitlist-table-options > h3 { margin: 0 0 8px; font-size: 14px; font-weight: 550; }
.nbi-waitlist-table-options .nbi-checkbox small { color: var(--muted); }
@media (min-width: 640px) {
  .guest-header-content { padding-top: 36px; padding-bottom: 28px; }
  .guest-header h1 { font-size: 34px; }
  .guest-main { padding-top: 28px; }
  .guest-steps { gap: 28px; padding-top: 20px; padding-bottom: 20px; }
  .guest-steps li { font-size: 12px; gap: 9px; }
  .guest-visit-controls, .guest-fields-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .guest-service-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .guest-section-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .guest-time-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .guest-times-panel { padding: 20px; }
  .guest-time-grid > button { font-size: 13px; }
  .guest-actions > button { flex: 0 1 auto; }
  .nbi-waitlist-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .nbi-waitlist-row { grid-template-columns: 28px minmax(220px, 1fr) minmax(170px, 250px); gap: 14px; padding: 19px 20px; }
  .nbi-waitlist-actions { grid-column: auto; align-content: center; justify-content: flex-end; }
}
@media (max-width: 359px) {
  .guest-main, .guest-header-content, .guest-steps { padding-left: 15px; padding-right: 15px; }
  .guest-steps { gap: 7px; }
  .guest-steps li { font-size: 10px; gap: 4px; }
  .guest-service-choice { padding: 12px; }
  .guest-service-choice strong { font-size: 16px; }
  .guest-time-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 440px) { .guest-time-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* Guest choices and editing share the existing widget's paper/olive system. */
.guest-extras { min-width: 0; margin: 8px 0 18px; }
.guest-extras fieldset { min-width: 0; border: 0; padding: 0; margin: 0; }
.guest-extras legend { padding: 0; margin-bottom: 12px; font-size: 15px; font-weight: 600; }
.guest-option-row { display: grid; grid-template-columns: 18px minmax(0, 1fr) auto; gap: 10px; padding: 15px 0; border-top: 1px solid var(--guest-border); align-items: start; font-size: 13px; cursor: pointer; }
.guest-option-row:last-child { border-bottom: 1px solid var(--guest-border); }
.guest-option-row:hover { background: #f0f1e6; }
.guest-option-row input { width: 18px; height: 18px; margin: 3px 0 0; accent-color: var(--guest-green); }
.guest-option-row strong { display: block; font-size: 14px; overflow-wrap: anywhere; }
.guest-option-row small { display: block; margin-top: 3px; color: var(--guest-muted); font-size: 11px; white-space: pre-wrap; overflow-wrap: anywhere; }
.guest-option-row b { white-space: nowrap; font-size: 13px; margin-top: 2px; font-weight: 600; }
.guest-choice-empty { font-size: 12px; color: var(--guest-muted); padding: 10px 0; }
.guest-simulated-total { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 5px 10px; padding: 13px 0; font-size: 13px; }
.guest-simulated-total small { grid-column: 1 / -1; color: var(--guest-muted); font-size: 11px; }
.guest-policies { margin-top: 20px !important; }
.guest-policy-row { padding: 12px 0; border-top: 1px solid var(--guest-border); }
.guest-policy-row details > summary { font-size: 13px; font-weight: 600; cursor: pointer; min-height: 44px; padding: 9px 0; overflow-wrap: anywhere; }
.guest-policy-row summary small { display: inline-block; font-size: 10px; color: var(--guest-muted); font-weight: 400; margin-left: 8px; }
.guest-policy-row details > p { color: var(--guest-muted); font-size: 12px; line-height: 1.75; white-space: pre-wrap; overflow-wrap: anywhere; margin: 4px 0 10px; }
.guest-policy-row summary:focus-visible { outline: 3px solid #648338; outline-offset: 2px; }
.guest-policy-row .guest-checkbox { margin-top: 0; }
.guest-purchased-options { border-bottom: 1px solid var(--guest-border); margin-bottom: 20px; }
.guest-purchased-options h3 { font-size: 14px; margin-bottom: 10px; }
.guest-purchased-options ul { list-style: none; padding: 0; margin: 0; }
.guest-purchased-options li { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 6px 0; font-size: 13px; }
.guest-purchased-options li > span { overflow-wrap: anywhere; }
.guest-purchased-options small { color: var(--guest-muted); }
.guest-purchased-options li > strong { flex-shrink: 0; }
.guest-modify-action { width: 100%; margin-bottom: 12px; }
.guest-modify > h2 { margin-bottom: 14px; }
.guest-modify-original { font-size: 12px; padding: 14px; background: var(--guest-surface); border: 1px solid var(--guest-border); border-radius: 7px; margin-bottom: 16px !important; overflow-wrap: anywhere; }
.guest-modify > .guest-helper { margin: 0 0 20px !important; }
.guest-modify-fields { padding: 0; border: 0; min-width: 0; margin: 0 0 22px; display: grid; gap: 16px; }
.guest-modify-fields > legend { font-size: 15px; font-weight: 600; margin-bottom: 12px; padding: 0; }
.guest-modify-fields .guest-visit-controls { margin-bottom: 0; }
.guest-modify-fields .guest-times > h3 { display: flex; gap: 8px; align-items: center; margin: 8px 0 14px; font-size: 14px; }
@media (max-width: 359px) { .guest-option-row { gap: 8px; } .guest-option-row b { font-size: 11px; } }

/* Saved widget references: service cards, then a time choice within each area. */
.guest-header-content { padding-top: 22px; padding-bottom: 20px; }
.guest-header h1 { font-size: 27px; margin-top: 9px; }
.guest-local-label { margin-top: 12px; padding-top: 8px; }
.guest-main { padding-top: 22px; }
.guest-selection > h2 { font-size: 23px; margin-bottom: 15px; }
.guest-steps { padding-top: 14px; padding-bottom: 14px; }
.guest-visit-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 12px 14px; margin-bottom: 20px; border-radius: 10px; }
.guest-visit-controls .guest-field { gap: 5px; }
.guest-visit-controls .guest-field > span { font-size: 10px; color: var(--guest-muted); letter-spacing: .06em; text-transform: uppercase; }
.guest-visit-controls .guest-field :is(input, select) { padding: 7px 8px; min-height: 44px; font-size: 14px; }
.guest-choice-group { margin-bottom: 20px; }
.guest-service-choice { min-height: 114px; padding: 14px; gap: 8px; }
.guest-service-choice small { display: flex; align-items: center; justify-content: space-between; gap: 5px; flex-wrap: wrap; }
.guest-service-choice .guest-service-selected { color: #486b26; font-size: 10px; gap: 3px; }
.guest-area-times { min-width: 0; }
.guest-area-times > h2 { font-size: 23px; margin-bottom: 6px; }
.guest-area-intro { color: var(--guest-muted); font-size: 12px; margin-bottom: 14px !important; overflow-wrap: anywhere; }
.guest-area-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; align-items: start; }
.guest-area-card { min-width: 0; border: 1px solid var(--guest-border); border-radius: 10px; background: var(--guest-surface); padding: 15px; }
.guest-area-card[data-selected="true"] { border-color: #658c3c; box-shadow: inset 0 0 0 1px #658c3c; }
.guest-area-card > header { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 4px 8px; padding-bottom: 11px; border-bottom: 1px solid var(--guest-border); margin-bottom: 12px; }
.guest-area-card h3 { font-family: Georgia, "Times New Roman", serif; font-size: 18px; font-weight: 600; line-height: 1.35; overflow-wrap: anywhere; }
.guest-area-selected { display: inline-flex; align-items: center; gap: 4px; color: #486b26; font-size: 10px; }
.guest-time-chips { display: flex; flex-wrap: wrap; gap: 7px; }
.guest-time-chip { min-width: 76px; min-height: 44px; display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px; padding: 7px 9px; border: 1px solid #d3d7c7; border-radius: 6px; background: #fffefa; color: var(--guest-ink); font-size: 12px; font-weight: 600; line-height: 1.35; }
.guest-time-chip small { font-weight: 400; font-size: 10px; }
.guest-time-chip:hover:not(:disabled):not([aria-pressed="true"]) { background: #edf1e1; border-color: #8a9b6d; }
.guest-time-chip[aria-pressed="true"] { color: white; border-color: var(--guest-green); background: var(--guest-green); }
.guest-all-times { margin-top: 8px; }
.guest-all-times > summary, .guest-area-standby > summary { min-height: 44px; padding: 10px 0; color: #486b26; cursor: pointer; font-size: 12px; font-weight: 600; overflow-wrap: anywhere; }
.guest-all-times > summary:hover, .guest-area-standby > summary:hover { color: #2e5014; text-decoration: underline; text-underline-offset: 3px; }
.guest-all-times > summary > span, .guest-area-standby > summary > span { color: var(--guest-muted); font-size: 10px; font-weight: 400; margin-left: 5px; }
.guest-all-times > summary:focus-visible, .guest-area-standby > summary:focus-visible { outline: 3px solid #648338; outline-offset: 3px; border-radius: 3px; }
.guest-all-times[open] > .guest-time-chips { padding-top: 2px; }
.guest-area-standby { margin-top: 12px; padding-top: 4px; border-top: 1px solid var(--guest-border); }
.guest-area-standby > p { color: var(--guest-muted); font-size: 11px; line-height: 1.6; margin-bottom: 10px !important; }
.guest-area-loading { min-height: 100px; display: flex; align-items: center; color: var(--guest-muted); font-size: 12px; }
.guest-area-error { font-size: 12px; line-height: 1.6; color: #874435; }
.guest-area-error > p { margin-top: 5px !important; overflow-wrap: anywhere; }
.guest-area-error > .guest-text-button { color: #874435; }
.guest-area-card .guest-no-times { font-size: 12px; padding: 5px 0; }
.guest-selection-action { margin-top: 22px; }
.guest-button-summary { font-size: 11px; font-weight: 400; min-width: 0; overflow-wrap: anywhere; }
.guest-selection-action > .guest-primary { gap: 8px; flex-wrap: wrap; }
.guest-contact > h2 { margin-bottom: 16px; }
.guest-summary { padding: 12px 14px; gap: 6px; margin-bottom: 20px; }
.guest-contact > fieldset { gap: 14px; }
.guest-options > legend, .guest-policies > legend { margin-bottom: 8px; }
.guest-option-row { padding: 12px 0; }
.guest-policy-row { padding: 8px 0; }
.guest-extras { margin-bottom: 12px; }
.guest-modify-fields .guest-area-times > h2 { font-size: 23px; }
.guest-modify-fields { gap: 16px; margin-bottom: 18px; }
.guest-modify-fields > .guest-choice-group { margin-bottom: 0; }
@media (min-width: 640px) {
  .guest-area-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .guest-header-content { padding-top: 28px; padding-bottom: 23px; }
  .guest-header h1 { font-size: 31px; }
  .guest-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .guest-summary .guest-standby-note { grid-column: 1 / -1; }
}
@media (min-width: 1024px) {
  .guest-area-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .guest-area-card { padding: 14px; }
  .guest-time-chip { min-width: 75px; }
}
@media (max-width: 359px) {
  .guest-visit-controls { grid-template-columns: minmax(0, 1fr); }
  .guest-service-choice { padding: 12px; }
  .guest-area-card { padding: 13px; }
  .guest-time-chip { min-width: 74px; }
}
