/* booking wizard: same tokens as the rest of the site */
.wizard{position:relative;margin-top:26px;padding:24px;border-radius:24px;border:1px solid var(--line);background:rgba(16,12,11,.72)}
/* before the script runs (and for search engines) every step is simply listed */
.panel{border:0;min-width:0;margin:0;padding:18px 0 0}
.panel legend{padding:0;margin-bottom:14px;font-family:"Playfair Display",serif;font-size:clamp(23px,3vw,30px);font-weight:500;color:var(--ink)}
.wizard.live .panel{display:none}
.wizard.live .panel.on{display:block;animation:w-in .35s ease}
@keyframes w-in{from{opacity:0;transform:translateY(8px)}}

/* the header: her photo, name and price, or a duo or trio side by side */
.bk-head{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;margin-bottom:22px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.bk-head[hidden]{display:none}
.bk-photos{display:flex;gap:10px}
.bk-photos img{width:76px;height:108px;object-fit:cover;object-position:center 15%;border-radius:38px 38px 12px 12px;border:1px solid var(--line);background:#1a1210}
.bk-eyebrow{margin:0 0 6px;font-size:11px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--gold)}
.bk-name{margin:0;font-family:"Playfair Display",serif;font-size:clamp(24px,3.4vw,32px);font-weight:500;line-height:1.1;color:var(--ink)}
.bk-meta{margin:6px 0 0;color:var(--muted);font-size:14px}
.bk-price{margin:8px 0 0;color:var(--muted);font-size:14px}
.bk-price b{margin-right:4px;font-family:"Playfair Display",serif;font-size:22px;font-style:italic;font-weight:500;color:var(--gold)}
.bk-arrows{display:flex;gap:8px}
.bk-arrows[hidden]{display:none}
.bk-arrows button{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid rgba(242,181,107,.42);background:var(--glass);color:var(--gold);cursor:pointer;transition:border-color .25s,box-shadow .25s}
.bk-arrows button:hover{border-color:var(--gold);box-shadow:0 0 18px rgba(255,150,70,.35)}
.bk-head.group{grid-template-columns:1fr}
.bk-head.group .bk-photos img{flex:1 1 0;min-width:0;width:100%;height:auto;aspect-ratio:2/3;max-width:240px;border-radius:999px 999px 14px 14px}

/* step rings joined by a hairline */
.steps{position:relative;display:grid;grid-template-columns:repeat(5,1fr);margin:0;padding:0;list-style:none}
.steps::before{content:"";position:absolute;left:10%;right:10%;top:19px;height:1px;background:var(--line)}
.steps button{position:relative;display:grid;justify-items:center;gap:6px;width:100%;padding:0;border:0;background:none;color:var(--muted);font:inherit;cursor:pointer}
.steps i{display:grid;place-items:center;width:38px;height:38px;padding-bottom:1px;border-radius:50%;border:1px solid rgba(242,181,107,.3);background:#100c0b;font-family:"Playfair Display",serif;font-size:15px;font-style:normal;transition:border-color .3s,color .3s,box-shadow .3s}
.steps span{font-size:10px;font-weight:500;letter-spacing:1.6px;text-transform:uppercase}
.steps .on i{border-color:var(--gold);color:#ffe0b0;box-shadow:0 0 22px rgba(255,150,70,.45)}
.steps .on span{color:var(--gold)}
.steps .done i{border-color:rgba(242,181,107,.6);color:var(--gold)}
.steps .locked button{cursor:default}

/* who */
.picks{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px;max-height:430px;padding:4px;overflow:hidden auto;scrollbar-width:thin;scrollbar-color:rgba(242,181,107,.4) transparent}
.wizard:not(.live) .picks{max-height:none}
.pick{display:flex;align-items:center;gap:11px;width:100%;padding:9px 12px 9px 9px;border:1px solid var(--line);border-radius:14px;background:var(--glass);color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:border-color .25s,background .25s}
.pick:hover,.pick.lit{border-color:rgba(242,181,107,.5)}
.pick.on{border-color:var(--gold);background:rgba(242,181,107,.1)}
.pick[hidden]{display:none}
.pick img,.pick i{flex:none;width:52px;height:52px;border-radius:10px;object-fit:cover;object-position:center 15%}
.pick i{display:grid;place-items:center;border:1px solid rgba(242,181,107,.42);border-radius:50%;color:var(--gold);font-family:"Playfair Display",serif;font-size:22px;font-style:normal}
.pick span{flex:1;display:grid;gap:3px;min-width:0}
.pick strong{font-family:"Playfair Display",serif;font-size:17px;font-weight:500;line-height:1.2}
.pick small{color:var(--muted);font-size:11.5px;line-height:1.35}
.pick b{font-family:"Playfair Display",serif;font-size:15px;font-style:italic;font-weight:500;color:var(--gold)}
/* duos and trios for the chosen lady */
.party-title{margin:18px 0 10px;font-size:11px;font-weight:500;letter-spacing:1.6px;text-transform:uppercase;color:var(--gold)}
.party-picks{grid-template-columns:1fr;max-height:none}
.pick .faces{display:flex;flex:none;gap:0;padding-left:4px}
.faces img{width:40px;height:40px;margin-left:-12px;border-radius:50%;border:2px solid #100c0b;object-fit:cover;object-position:center 15%}
.faces img:first-child{margin-left:0}

/* fields */
.w-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.w-field{display:grid;gap:7px;min-width:0}
.w-field[hidden]{display:none}
.w-field span{font-size:11px;font-weight:500;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted)}
.w-field input{width:100%;min-width:0;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:rgba(0,0,0,.35);color:var(--ink);font:inherit;font-size:15px;outline:0;color-scheme:dark;transition:border-color .2s,box-shadow .2s}
.w-field input:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(242,181,107,.12)}
/* iPhone: date and time fields otherwise render as blank boxes with centred, invisible text */
.w-field input[type=date],.w-field input[type=time]{display:block;min-height:50px;-webkit-appearance:none;appearance:none;text-align:left}
.w-field input::-webkit-date-and-time-value{text-align:left;min-height:1.4em;color:var(--ink)}
.w-field input::-webkit-calendar-picker-indicator{filter:invert(.85) sepia(.4)}
.quick-days,.toggle{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.quick-days button,.toggle button{padding:11px 18px 10px;border:1px solid var(--line);border-radius:99px;background:var(--glass);color:#d9cfc4;font:inherit;font-size:13.5px;cursor:pointer;transition:border-color .25s,color .25s,background .25s}
.quick-days button:hover,.toggle button:hover{border-color:rgba(242,181,107,.5)}
.quick-days .on,.toggle .on{border-color:var(--gold);background:rgba(242,181,107,.12);color:#ffe0b0}
.toggle button:disabled{opacity:.4;cursor:not-allowed}
.w-note{margin:0 0 12px;color:var(--muted);font-size:13.5px;line-height:1.55}
.w-error{margin:10px 0 0;color:#ffb08a;font-size:13.5px}
.w-error[hidden],.w-note:empty{display:none}

/* how long */
.durations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.dur{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:15px 16px 14px;border:1px solid var(--line);border-radius:14px;background:var(--glass);color:var(--ink);font:inherit;font-size:14.5px;text-align:left;cursor:pointer;transition:border-color .25s,background .25s}
.dur:hover{border-color:rgba(242,181,107,.5)}
.dur.on{border-color:var(--gold);background:rgba(242,181,107,.1)}
.dur b{font-family:"Playfair Display",serif;font-size:18px;font-style:italic;font-weight:500;color:var(--gold);white-space:nowrap}

/* send */
.summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 16px;margin:0 0 18px}
.summary div{padding:10px 0;border-top:1px solid var(--line)}
.summary dt{font-size:11px;color:var(--muted);margin-bottom:3px}
.summary dd{margin:0;font-size:14.5px;line-height:1.35}
.w-check{display:flex;gap:10px;align-items:flex-start;margin:14px 0 0;color:#d9cfc4;font-size:13.5px;line-height:1.5;cursor:pointer}
.w-check input{flex:none;width:18px;height:18px;margin-top:1px;accent-color:#f2b56b}
.sendrow{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:18px 0 12px}
.sendrow .btn{display:inline-block}

.w-nav{display:none;justify-content:space-between;align-items:center;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.wizard.live .w-nav{display:flex}
#w-back{padding:10px 4px;border:0;background:none;color:var(--muted);font:inherit;font-size:14px;cursor:pointer}
#w-back:hover{color:var(--ink)}
#w-back[hidden],#w-next[hidden]{display:none}
#w-next{margin-left:auto;cursor:pointer}

/* three steps */
.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.three div{padding:20px;border-radius:16px;border:1px solid var(--line);background:var(--glass)}
.three i{display:grid;place-items:center;width:38px;height:38px;padding-bottom:1px;border-radius:50%;border:1px solid rgba(242,181,107,.45);color:var(--gold);font-family:"Playfair Display",serif;font-style:normal}
.three h3{margin:12px 0 6px;font-family:"Playfair Display",serif;font-size:20px;font-weight:500}
.three p{color:var(--muted);font-size:14px;line-height:1.55}

@media(max-width:860px){
  .wizard{padding:18px 14px}
  .bk-head{gap:14px}
  .bk-photos img{width:64px;height:92px;border-radius:32px 32px 10px 10px}
  .bk-head.group .bk-photos{gap:8px}
  .bk-head.group .bk-photos img{max-width:none}
  .bk-arrows button{width:36px;height:36px}
  .picks{grid-template-columns:1fr;max-height:400px}
  .summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .three{grid-template-columns:1fr}
  .steps i{width:34px;height:34px}
  .steps::before{top:17px}
  .steps span{font-size:8.5px;letter-spacing:.8px}
}
@media(max-width:520px){.w-grid,.durations{grid-template-columns:1fr}}
