.lhrbk{
  --lb-paper:#FBFBF9;--lb-panel:#FFFFFF;--lb-ink:#10231C;--lb-text:#1F312B;--lb-muted:#5F6F69;
  --lb-line:#E1E8E4;--lb-mist:#EEF3F0;--lb-accent:#2E7D64;--lb-on-accent:#FFFFFF;
  --lb-danger:#A9432E;--lb-danger-bg:#FBEFEC;
  --lb-serif:Georgia,"Times New Roman",Times,serif;
  --lb-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --lb-r:10px;
  font-family:var(--lb-sans);color:var(--lb-text);background:var(--lb-paper);
  border:1px solid var(--lb-line);border-radius:18px;padding:28px 24px 24px;max-width:960px;margin:0 auto;
  -webkit-font-smoothing:antialiased;line-height:1.45;box-sizing:border-box}
.lhrbk[data-theme=dark]{
  --lb-paper:#0F1A16;--lb-panel:#152420;--lb-ink:#F2F7F4;--lb-text:#E4EDE8;--lb-muted:#93A69D;
  --lb-line:#25352E;--lb-mist:#1C2C26;--lb-accent:#7EE8C7;--lb-on-accent:#06231C;
  --lb-danger:#F0A392;--lb-danger-bg:rgba(226,114,91,.12)}
.lhrbk *,.lhrbk *::before,.lhrbk *::after{box-sizing:border-box}
.lhrbk button{font:inherit;color:inherit;cursor:pointer}
.lhrbk button:focus-visible,.lhrbk input:focus-visible{outline:3px solid var(--lb-accent);outline-offset:2px}
.lhrbk h2,.lhrbk h3,.lhrbk h4{font-family:var(--lb-serif);font-weight:400;color:var(--lb-ink);margin:0;letter-spacing:-.01em}
.lhrbk h2{font-size:30px;line-height:1.15}
.lhrbk h3{font-size:22px;line-height:1.2}
.lhrbk p{margin:0}
.lhrbk .lb-muted{color:var(--lb-muted)}
.lhrbk .lb-small{font-size:13.5px}

/* Step rail: real words, a tick when done */
.lhrbk .lb-rail{display:flex;gap:18px;margin:14px 0 26px;padding:0;list-style:none;font-size:14px;color:var(--lb-muted);flex-wrap:wrap}
.lhrbk .lb-rail li{display:flex;align-items:center;gap:8px}
.lhrbk .lb-rail li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--lb-line);flex:none}
.lhrbk .lb-rail li.is-done{color:var(--lb-text)}
.lhrbk .lb-rail li.is-done::before{background:var(--lb-accent)}
.lhrbk .lb-rail li.is-now{color:var(--lb-ink);font-weight:600}
.lhrbk .lb-rail li.is-now::before{background:var(--lb-ink)}

/* Two columns from 760px */
.lhrbk .lb-grid{display:grid;grid-template-columns:1fr;gap:22px;align-items:start}
@media(min-width:760px){.lhrbk .lb-grid{grid-template-columns:minmax(0,1fr) 300px;gap:32px}
  .lhrbk .lb-side{position:sticky;top:24px}}

/* Options (services, payment choice) */
.lhrbk .lb-opt{display:block;width:100%;text-align:left;background:var(--lb-panel);border:1.5px solid var(--lb-line);
  border-radius:var(--lb-r);padding:15px 16px;margin:0 0 10px;transition:border-color .12s}
.lhrbk .lb-opt:hover{border-color:var(--lb-muted)}
.lhrbk .lb-opt[aria-pressed=true]{border-color:var(--lb-accent);box-shadow:inset 0 0 0 1px var(--lb-accent)}
.lhrbk .lb-opt .t{font-size:16px;font-weight:600;color:var(--lb-ink)}
.lhrbk .lb-opt .d{color:var(--lb-muted);font-size:13.5px;margin-top:3px}
.lhrbk .lb-opt .p{font-family:var(--lb-serif);font-size:17px;color:var(--lb-ink);float:right;margin-left:12px}

/* Calendar: the one place this form is generous */
.lhrbk .lb-cal{background:var(--lb-panel);border:1.5px solid var(--lb-line);border-radius:14px;padding:16px 14px 12px}
.lhrbk .lb-cal-head{display:flex;align-items:center;justify-content:space-between;margin:0 4px 12px}
.lhrbk .lb-cal-head h3{font-size:20px}
.lhrbk .lb-nav{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--lb-line);background:none;display:grid;place-items:center;line-height:1;color:var(--lb-ink)}
.lhrbk .lb-nav:hover:not(:disabled){border-color:var(--lb-muted)}
.lhrbk .lb-nav:disabled{opacity:.35;cursor:default}
.lhrbk .lb-dow,.lhrbk .lb-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.lhrbk .lb-dow span{text-align:center;font-size:12px;color:var(--lb-muted);padding:4px 0 6px}
.lhrbk .lb-day{aspect-ratio:1;width:100%;max-width:52px;margin:0 auto;border:none;background:none;border-radius:50%;position:relative;font-size:15px;color:var(--lb-text);display:grid;place-items:center}
.lhrbk .lb-day:disabled{color:var(--lb-line);cursor:default}
.lhrbk[data-theme=dark] .lb-day:disabled{color:#3A4B44}
.lhrbk .lb-day.has-free::after{content:"";position:absolute;bottom:4px;left:50%;transform:translateX(-50%);width:5px;height:5px;border-radius:50%;background:var(--lb-accent)}
.lhrbk .lb-day.has-free:hover{background:var(--lb-mist)}
.lhrbk .lb-day.is-sel{background:var(--lb-accent);color:var(--lb-on-accent);font-weight:600}
.lhrbk .lb-day.is-sel::after{background:var(--lb-on-accent)}
.lhrbk .lb-day.is-today{font-weight:600;text-decoration:underline;text-underline-offset:3px}
.lhrbk .lb-day.in-order{box-shadow:inset 0 0 0 2px var(--lb-accent)}
.lhrbk .lb-legend{display:flex;gap:16px;margin:10px 4px 0;font-size:12.5px;color:var(--lb-muted)}
.lhrbk .lb-legend i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--lb-accent);margin-right:6px;vertical-align:middle}
.lhrbk .lb-legend i.o{background:none;box-shadow:inset 0 0 0 2px var(--lb-accent);width:10px;height:10px}

/* Times */
.lhrbk .lb-times{margin-top:18px}
.lhrbk .lb-times h4{font-family:var(--lb-sans);font-size:13.5px;font-weight:600;color:var(--lb-muted);margin:14px 0 8px}
.lhrbk .lb-chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px}
.lhrbk .lb-chip{padding:11px 6px;border-radius:var(--lb-r);border:1.5px solid var(--lb-line);background:var(--lb-panel);font-size:15px;font-variant-numeric:tabular-nums}
.lhrbk .lb-chip:hover{border-color:var(--lb-muted)}
.lhrbk .lb-chip[aria-pressed=true]{background:var(--lb-accent);border-color:var(--lb-accent);color:var(--lb-on-accent);font-weight:600}
.lhrbk .lb-empty{background:var(--lb-mist);border-radius:var(--lb-r);padding:14px 16px;font-size:14px}

/* Summary */
.lhrbk .lb-side{background:var(--lb-panel);border:1.5px solid var(--lb-line);border-radius:14px;padding:18px}
.lhrbk .lb-side h3{font-size:19px;margin-bottom:12px}
.lhrbk .lb-side .svc{font-weight:600;color:var(--lb-ink);padding-bottom:10px;border-bottom:1px solid var(--lb-line);margin-bottom:10px}
.lhrbk .lb-side ul{list-style:none;margin:0;padding:0}
.lhrbk .lb-side li{display:flex;align-items:center;gap:10px;padding:7px 0;font-size:14.5px;border-bottom:1px solid var(--lb-line)}
.lhrbk .lb-side li.new{animation:lb-in .28s ease-out}
@keyframes lb-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.lhrbk .lb-side li.new{animation:none}}
.lhrbk .lb-side li .x{margin-left:auto;background:none;border:none;color:var(--lb-muted);font-size:20px;line-height:1;padding:0 4px;border-radius:6px}
.lhrbk .lb-side li .x:hover{color:var(--lb-danger)}
.lhrbk .lb-side .tot{display:flex;justify-content:space-between;align-items:baseline;margin-top:12px;font-size:14.5px}
.lhrbk .lb-side .tot b{font-family:var(--lb-serif);font-size:24px;font-weight:400;color:var(--lb-ink)}
.lhrbk .lb-side .due{color:var(--lb-muted);font-size:13px;margin-top:2px}
.lhrbk .lb-side .offer{margin-top:12px;padding:10px 12px;border-radius:var(--lb-r);background:var(--lb-mist);font-size:13.5px}
.lhrbk .lb-side .offer .bar{height:4px;border-radius:2px;background:var(--lb-line);margin-top:8px;overflow:hidden}
.lhrbk .lb-side .offer .bar i{display:block;height:100%;background:var(--lb-accent);transition:width .3s}
.lhrbk .lb-side .empty{color:var(--lb-muted);font-size:14px}

/* Actions */
.lhrbk .lb-actions{display:flex;flex-direction:column;gap:10px;margin-top:20px}
.lhrbk .lb-btn{width:100%;padding:15px 18px;border-radius:var(--lb-r);border:none;background:var(--lb-accent);color:var(--lb-on-accent);font-size:16px;font-weight:600}
.lhrbk .lb-btn:hover:not(:disabled){filter:brightness(.94)}
.lhrbk .lb-btn:disabled{opacity:.55;cursor:default}
.lhrbk .lb-link{background:none;border:none;color:var(--lb-accent);font-size:14.5px;font-weight:600;padding:8px 0;text-align:left;width:auto}
.lhrbk .lb-link:hover{text-decoration:underline}
.lhrbk .lb-back{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:var(--lb-muted);font-size:14px;padding:0;margin-bottom:14px}
.lhrbk .lb-back:hover{color:var(--lb-ink)}

/* Details */
.lhrbk .lb-field{margin-bottom:14px}
.lhrbk label{display:block;font-size:14px;font-weight:600;color:var(--lb-ink);margin-bottom:6px}
.lhrbk input[type=text],.lhrbk input[type=email],.lhrbk input[type=tel]{width:100%;padding:12px 14px;border-radius:var(--lb-r);border:1.5px solid var(--lb-line);background:var(--lb-panel);color:var(--lb-text);font:inherit;font-size:16px}
.lhrbk input:focus{border-color:var(--lb-accent);outline:none}
.lhrbk .lb-pay{margin-top:22px}
.lhrbk .lb-pay h3{font-size:19px;margin-bottom:10px}
.lhrbk .lb-check{display:flex;align-items:center;gap:10px;font-size:14.5px;cursor:pointer;margin-top:4px;font-weight:400}
.lhrbk .lb-check input{width:18px;height:18px;accent-color:var(--lb-accent)}
.lhrbk .lb-note{font-size:13px;color:var(--lb-muted);margin-top:10px;line-height:1.5}
.lhrbk .lb-policy{margin-top:20px;padding-top:16px;border-top:1px solid var(--lb-line)}
.lhrbk .lb-policy h4{font-family:var(--lb-sans);font-size:14px;font-weight:600;margin-bottom:6px}
.lhrbk .lb-policy p{font-size:13px;color:var(--lb-muted);white-space:pre-line;line-height:1.55}

/* Status */
.lhrbk .lb-err{background:var(--lb-danger-bg);color:var(--lb-danger);border-radius:var(--lb-r);padding:12px 14px;font-size:14px;margin-bottom:16px}
.lhrbk .lb-spin{width:24px;height:24px;border-radius:50%;border:2.5px solid var(--lb-line);border-top-color:var(--lb-accent);animation:lb-spin .8s linear infinite;margin:36px auto}
@keyframes lb-spin{to{transform:rotate(360deg)}}
.lhrbk .lb-done{text-align:center;padding:36px 12px}
.lhrbk .lb-done .tick{width:60px;height:60px;border-radius:50%;background:var(--lb-accent);color:var(--lb-on-accent);display:grid;place-items:center;font-size:28px;margin:0 auto 18px}
.lhrbk .lb-done h3{margin-bottom:8px}
.lhrbk .lb-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

/* Mobile summary bar */
.lhrbk .lb-bar{display:none}
@media(max-width:759px){
  .lhrbk{padding:22px 16px 18px;border-radius:14px}
  .lhrbk h2{font-size:26px}
  .lhrbk .lb-side{display:none}
  .lhrbk .lb-side.is-open{display:block}
  .lhrbk .lb-bar{display:flex;justify-content:space-between;align-items:center;background:var(--lb-ink);color:var(--lb-paper);border-radius:var(--lb-r);padding:12px 14px;margin-top:16px;font-size:14.5px}
  .lhrbk[data-theme=dark] .lb-bar{background:var(--lb-accent);color:var(--lb-on-accent)}
  .lhrbk .lb-bar button{background:none;border:none;color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:3px}
}
/* Block-booking tag on a service */
.lhrbk .lb-tag{display:inline-block;margin-top:8px;padding:4px 10px;border-radius:999px;
  background:var(--lb-mist);color:var(--lb-ink);font-size:12.5px;font-weight:600}

/* Find my details */
.lhrbk .lb-lookup{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px;
  padding:12px 14px;border-radius:var(--lb-r);background:var(--lb-mist);font-size:14.5px}
.lhrbk .lb-lookup-open{display:block}
.lhrbk .lb-lookup label{margin-bottom:6px}
.lhrbk .lb-lookup input{margin-bottom:0}
.lhrbk .lb-lookup-actions{display:flex;align-items:center;gap:14px;margin-top:10px;flex-wrap:wrap}
.lhrbk .lb-btn-sm{width:auto;padding:10px 16px;font-size:14.5px}
.lhrbk .lb-found{margin-bottom:16px;padding:12px 14px;border-radius:var(--lb-r);
  background:var(--lb-mist);font-size:14.5px}
.lhrbk .lb-found ul{margin:0;padding:0;list-style:none}
.lhrbk .lb-found li{padding:3px 0;color:var(--lb-muted)}

/* Add to calendar, on the confirmation screen */
.lhrbk .lb-cal-wrap{margin-top:22px;text-align:left;max-width:420px;margin-left:auto;margin-right:auto}
.lhrbk .lb-cal-links{padding:12px 0;border-top:1px solid var(--lb-line)}
.lhrbk .lb-cal-when{font-weight:600;color:var(--lb-ink);margin-bottom:8px}
.lhrbk .lb-cal-btn{display:inline-block;margin:0 8px 8px 0;padding:9px 14px;border-radius:var(--lb-r);
  border:1.5px solid var(--lb-accent);color:var(--lb-accent);text-decoration:none;font-size:14px;font-weight:600}
.lhrbk .lb-cal-btn:hover{background:var(--lb-accent);color:var(--lb-on-accent)}

/* Editing from the summary */
.lhrbk .lb-side .svc{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.lhrbk .lb-side .svc-ch{font-size:13px;padding:0;font-weight:600}
.lhrbk .lb-side li .ch{margin-left:auto;background:none;border:none;color:var(--lb-accent);
  font-size:13px;font-weight:600;padding:0 6px;border-radius:6px}
.lhrbk .lb-side li .ch:hover{text-decoration:underline}
.lhrbk .lb-side li .ch+.x{margin-left:0}
.lhrbk .lb-side li.editing{background:var(--lb-mist);margin:0 -8px;padding-left:8px;padding-right:8px;border-radius:6px}
.lhrbk .lb-side li em{font-style:normal;color:var(--lb-muted);font-size:12.5px}

/* Multi-appointment services: say so, clearly */
.lhrbk .lb-multi{margin:0 0 14px;padding:12px 14px;border-radius:10px;background:#EAF4EF;border:1px solid #BFDCCC;
  color:#1E4A3A;font-size:14px;line-height:1.5}
.lhrbk .lb-multi strong{color:#0F2E24}
