/* Edale public booking — brand navy/gold, matched to wealth-map.css. */
.pb-wrap{--navy:#0A1628;--gold:#C9A227;--gold-l:#F0C948;--ink:#1A2332;--muted:#6b7688;--line:#dfe4ec;
  max-width:720px;margin:0 auto;padding:8px 18px 60px;
  font-family:'Inter',-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  color:var(--ink);line-height:1.6;}

.pb-head{text-align:center;margin:14px 0 22px;}
.pb-kicker{color:var(--gold);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:12px;}
.pb-title{font-family:Georgia,'Times New Roman',serif;font-size:32px;line-height:1.15;color:var(--navy);margin:8px 0 10px;}
.pb-sub{color:#44506a;font-size:15px;max-width:520px;margin:0 auto;}

.pb-steps{display:flex;list-style:none;counter-reset:s;padding:0;margin:0 0 20px;gap:6px;justify-content:center;flex-wrap:wrap;}
.pb-steps li{counter-increment:s;font-size:11.5px;color:var(--muted);padding:6px 12px 6px 26px;position:relative;
  border-radius:20px;background:#f1f4f8;white-space:nowrap;}
.pb-steps li::before{content:counter(s);position:absolute;left:7px;top:50%;transform:translateY(-50%);
  width:15px;height:15px;border-radius:50%;background:#cfd7e2;color:#fff;font-size:9px;font-weight:700;
  display:flex;align-items:center;justify-content:center;}
.pb-steps li.on{background:var(--navy);color:#fff;}
.pb-steps li.on::before{background:var(--gold);color:var(--navy);}
.pb-steps li.done::before{background:#2E7D32;content:"✓";}

.pb-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px 26px;
  box-shadow:0 10px 30px rgba(10,22,40,.07);}
.pb-h{font-family:Georgia,serif;font-size:21px;color:var(--navy);margin:0 0 6px;}
.pb-hint{color:var(--muted);font-size:13px;margin:0 0 14px;}
.pb-off p{margin:0;color:#44506a;}
/* the calendar's status line sits under the grid, not above it like .pb-hint */
.pb-cal-hint{margin:12px 0 0;}
.pb-chosen-day{margin-bottom:2px;}
.pb-chosen{margin-bottom:16px;}

/* calendar */
.pb-cal-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.pb-month{font-family:Georgia,serif;font-size:17px;color:var(--navy);}
.pb-nav{background:#f4f6f9;border:1px solid var(--line);color:var(--navy);width:34px;height:34px;
  border-radius:8px;cursor:pointer;font-size:15px;line-height:1;}
.pb-nav:hover:not(:disabled){background:#fff;border-color:var(--gold);}
.pb-nav:disabled{opacity:.4;cursor:default;}
.pb-dow,.pb-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;}
.pb-dow{margin-bottom:5px;}
.pb-dow span{text-align:center;font-size:10.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;}
.pb-day{aspect-ratio:1;border:1px solid var(--line);border-radius:9px;background:#fbfcfd;color:#aab3c2;
  font:inherit;font-size:14px;display:flex;align-items:center;justify-content:center;cursor:default;}
.pb-day.pb-free{background:#fff;color:var(--navy);font-weight:600;cursor:pointer;border-color:#cdd6e2;}
.pb-day.pb-free:hover{border-color:var(--gold);background:#fffbf0;}
.pb-day.pb-sel{background:var(--navy);color:#fff;border-color:var(--navy);}
.pb-day.pb-empty{border:none;background:none;}

/* slots */
/* timezone picker, above the times */
.pb-tzbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:0 0 14px;
  padding:10px 12px;background:#f7f9fc;border:1px solid var(--line);border-radius:10px;}
.pb-tzlab{font-size:12.5px;font-weight:600;color:#334;flex:0 0 auto;}
.pb-tz{font:inherit;font-size:13.5px;padding:7px 10px;border:1px solid #cdd6e2;border-radius:8px;
  background:#fff;color:var(--navy);max-width:100%;flex:1 1 220px;min-width:0;cursor:pointer;}
.pb-tz:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,162,39,.15);}
.pb-tznote{flex:1 1 100%;margin:0;font-size:12px;}

.pb-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;}
/* two-line buttons once a non-UK zone is chosen — their time over ours */
.pb-slots--two{grid-template-columns:repeat(auto-fill,minmax(122px,1fr));}
.pb-slot{font:inherit;font-size:14px;font-weight:600;padding:11px 8px;border-radius:9px;
  border:1px solid #cdd6e2;background:#fff;color:var(--navy);cursor:pointer;
  display:flex;flex-direction:column;align-items:center;gap:1px;line-height:1.3;}
.pb-slot b{font-weight:600;}
.pb-slot small{font-weight:400;font-size:11px;color:var(--muted);}
/* the local date rides with the local time, so it cannot be read as the UK one */
.pb-slot b i{font-style:normal;font-weight:400;font-size:11px;color:var(--muted);margin-left:4px;}
.pb-slot:hover{border-color:var(--gold);background:#fffbf0;}
.pb-slot.pb-sel{background:var(--navy);color:#fff;border-color:var(--navy);}
.pb-slot.pb-sel small,.pb-slot.pb-sel b i{color:rgba(255,255,255,.72);}

/* form */
.pb-form label{display:flex;flex-direction:column;font-size:12.5px;font-weight:600;color:#334;gap:5px;margin-bottom:14px;}
.pb-form input,.pb-form textarea{font:inherit;font-weight:400;font-size:14px;padding:10px 12px;
  border:1px solid var(--line);border-radius:8px;background:#fbfcfd;color:var(--ink);width:100%;box-sizing:border-box;}
.pb-form input:focus,.pb-form textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,162,39,.15);}
.pb-form input[aria-invalid="true"]{border-color:#C62828;}
.pb-two{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;}
.pb-note{font-weight:400;font-size:11.5px;color:var(--muted);}
.pb-opt{font-weight:400;color:var(--muted);}
.pb-modes{border:0;padding:0;margin:0 0 18px;}
.pb-modes legend{font-size:12.5px;font-weight:600;color:#334;padding:0;margin-bottom:8px;}
.pb-mode{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:10px;
  border:1px solid var(--line);border-radius:10px;padding:11px 13px;margin-bottom:7px;cursor:pointer;
  font-weight:400!important;background:#fff;transition:border-color .12s,background .12s;}
.pb-mode:hover{border-color:var(--gold);}
.pb-mode.on{border-color:var(--gold);background:#fffbf0;}
.pb-mode input{width:auto!important;margin:2px 0 0;flex:0 0 auto;}
.pb-mode span{display:flex;flex-direction:column;gap:2px;}
.pb-mode b{font-size:13.5px;color:var(--navy);font-weight:600;}
.pb-mode small{font-size:12px;color:#55617a;line-height:1.45;}
.pb-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden;}
.pb-consent{font-size:12px;color:var(--muted);margin:4px 0 0;}
.pb-consent a{color:var(--navy);}
.pb-err{color:#C62828;font-size:13.5px;margin:12px 0 0;min-height:1px;}

.pb-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;}
.pb-actions [data-back]{margin-right:auto;}
.pb-btn{font:inherit;font-size:14.5px;font-weight:600;padding:11px 22px;border-radius:24px;cursor:pointer;border:1px solid transparent;}
.pb-primary{background:var(--gold);color:var(--navy);}
.pb-primary:hover{background:var(--gold-l);}
.pb-btn:disabled{opacity:.6;cursor:default;}
.pb-ghost{background:#fff;border-color:var(--line);color:var(--navy);}
.pb-ghost:hover{border-color:var(--gold);}

.pb-done{text-align:center;}
.pb-tick{width:52px;height:52px;margin:0 auto 12px;border-radius:50%;background:#eef7f0;color:#2E7D32;
  border:1px solid #cbe6d3;display:flex;align-items:center;justify-content:center;font-size:25px;font-weight:700;}
.pb-done-when{font-family:Georgia,serif;font-size:18px;color:var(--navy);margin:0 0 10px;}

.pb-join{margin:0 0 14px;font-size:13.5px;word-break:break-all;}
.pb-join a{color:var(--navy);font-weight:600;}
.pb-done-join{font-size:13.5px;word-break:break-all;}
.pb-done-manage{font-size:13.5px;color:var(--muted);}
.pb-done-manage a,.pb-done-join a{color:var(--navy);font-weight:600;}
.pb-signin{margin:18px 0 0;text-align:center;font-size:13.5px;color:var(--muted);}
.pb-signin a{color:var(--navy);font-weight:600;}
.pb-reg{margin-top:24px;background:#f7f9fc;border:1px solid var(--line);border-radius:12px;padding:16px 18px;
  font-size:12.5px;color:#55617a;}
.pb-reg b{display:block;color:var(--navy);font-size:13px;margin-bottom:6px;}
.pb-reg p{margin:0 0 7px;}
.pb-reg p:last-child{margin-bottom:0;}

@media(max-width:560px){
  .pb-title{font-size:26px;}
  .pb-card{padding:20px 16px;}
  .pb-two{grid-template-columns:1fr;}
  .pb-day{font-size:13px;}
  .pb-actions{flex-wrap:wrap;}
  .pb-tzlab,.pb-tz{flex:1 1 100%;}
  .pb-slots--two{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));}
}
