/* the booking page: five steps inside one card */
.wizard{margin-top:6px;padding:clamp(18px,2.6vw,32px);border-radius:var(--r);background:var(--blush)}
/* before the script runs (and for search engines) every step is simply listed */
.wz-panel{min-width:0;margin:0;padding:22px 0 0;border:0}
.wz-panel legend{margin-bottom:14px;padding:0;font-size:clamp(22px,2.6vw,30px);font-weight:800;letter-spacing:-.03em;line-height:1.15}
.wizard.live .wz-panel{display:none}
.wizard.live .wz-panel.on{display:block;animation:wz-in .35s var(--ease)}
@keyframes wz-in{from{opacity:0;transform:translateY(8px)}}

/* the header: her photo, name and price, or a duo or trio side by side */
.wz-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;margin-bottom:22px;padding-bottom:20px;border-bottom:1px solid rgba(17,16,19,.14)}
.wz-head[hidden]{display:none}
.wz-photos{display:flex;gap:10px}
.wz-photos a{display:block;flex:0 0 auto;border-radius:14px;overflow:hidden}
.wz-photos img{display:block;width:76px;height:108px;object-fit:cover;object-position:50% 15%;background:var(--blush-2)}
.wz-head.group{grid-template-columns:minmax(0,1fr)}
.wz-head.group .wz-photos a{flex:1 1 0;min-width:0;max-width:240px;border-radius:var(--r-s)}
.wz-head.group .wz-photos img{width:100%;height:auto;aspect-ratio:3/4;object-position:50% 20%}
.wz-who{min-width:0}
.wz-eyebrow{margin-bottom:6px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.wz-name{font-size:clamp(24px,3.2vw,34px)}
.wz-meta{margin-top:6px;font-size:13px;color:#544b4d}
.wz-price{margin-top:8px;font-size:14px;color:#544b4d}
.wz-price b{margin-right:4px;font-size:20px;font-weight:800;color:var(--red)}
.wz-arrows{display:flex;gap:8px}
.wz-arrows[hidden]{display:none}
.wz-arrows button{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--white);font-size:20px;transition:color .2s}
.wz-arrows button:hover,.wz-arrows button:active{color:var(--red)}

/* step rings joined by a hairline */
.wz-steps{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0 0 18px;padding:0;list-style:none}
.wz-steps::before{content:"";position:absolute;left:10%;right:10%;top:19px;height:1px;background:rgba(17,16,19,.18)}
.wz-steps button{position:relative;display:grid;justify-items:center;gap:6px;width:100%;color:#544b4d}
.wz-steps i{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--white);font-size:14px;font-style:normal;font-weight:800;transition:background .3s,color .3s}
.wz-steps span{font-size:11px;font-weight:700}
.wz-steps .on i{background:var(--red);color:#fff}
.wz-steps .on span{color:var(--red)}
.wz-steps .done i{color:var(--red)}
.wz-steps .locked button{cursor:default}

/* who */
.wz-picks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-height:430px;margin-top:14px;padding:2px;overflow:hidden auto;scrollbar-width:thin}
.wizard:not(.live) .wz-picks{max-height:none}
.wz-pick{display:flex;align-items:center;gap:11px;width:100%;padding:9px 12px 9px 9px;border:1px solid var(--white);border-radius:14px;background:var(--white);text-align:left;transition:border-color .2s}
.wz-pick:hover,.wz-pick:active{border-color:var(--blush-3)}
.wz-pick.on{border-color:var(--red)}
.wz-pick[hidden]{display:none}
.wz-pick img,.wz-pick i{flex:none;width:52px;height:52px;border-radius:10px;object-fit:cover;object-position:50% 15%}
.wz-pick i{display:grid;place-items:center;border-radius:50%;background:var(--blush-2);color:var(--red);font-size:20px;font-style:normal;font-weight:800}
.wz-pick>span:not(.wz-faces){flex:1;display:grid;gap:2px;min-width:0}
.wz-pick strong{font-size:15px;font-weight:800;line-height:1.25}
.wz-pick small{font-size:12px;line-height:1.35;color:var(--grey)}
.wz-pick b{font-size:15px;font-weight:800;color:var(--red)}
.wz-party-title{margin:20px 0 0;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.wz-party-picks{grid-template-columns:minmax(0,1fr);max-height:none}
.wz-faces{display:flex;flex:none;padding-left:4px}
.wz-faces img{width:40px;height:40px;margin-left:-12px;border:2px solid var(--white);border-radius:50%}
.wz-faces img:first-child{margin-left:0}

/* fields: 16px stops iPhone zooming the page when one is tapped */
.wz-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.wz-field{display:grid;gap:7px;min-width:0}
.wz-field[hidden]{display:none}
.wz-field>span{font-size:12px;font-weight:700;color:#544b4d}
.wz-field input{display:block;width:100%;min-width:0;min-height:50px;padding:12px 16px;border:1px solid var(--white);border-radius:14px;background:var(--white);font-size:16px;outline:0;transition:border-color .2s}
.wz-field input:focus{border-color:var(--red)}
.wz-field input[type=date],.wz-field input[type=time]{-webkit-appearance:none;appearance:none;text-align:left}
.wz-field input::-webkit-date-and-time-value{min-height:1.4em;text-align:left}
.wz-quick{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.wz-quick button{min-height:44px;padding:0 18px;border:1px solid var(--white);border-radius:999px;background:var(--white);font-size:14px;font-weight:600;transition:border-color .2s,color .2s}
.wz-quick button:hover,.wz-quick button:active{border-color:var(--blush-3)}
.wz-quick .on{border-color:var(--red);color:var(--red)}
.wz-quick button:disabled{opacity:.4;cursor:not-allowed}
.wz-note{margin-bottom:12px;font-size:14px;line-height:1.55;color:#544b4d}
.wz-note:empty{display:none}
.wz-error{margin-top:10px;font-size:14px;font-weight:600;color:var(--red)}
.wz-error[hidden]{display:none}

/* how long */
.wz-durs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.wz-dur{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:14px 16px;border:1px solid var(--white);border-radius:14px;background:var(--white);font-size:15px;font-weight:600;text-align:left;transition:border-color .2s}
.wz-dur:hover,.wz-dur:active{border-color:var(--blush-3)}
.wz-dur.on{border-color:var(--red)}
.wz-dur b{font-size:17px;font-weight:800;color:var(--red);white-space:nowrap}
.wz-dur small{margin-left:4px;font-size:11px;font-weight:500;color:var(--grey)}

/* send */
.wz-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 16px;margin:0 0 18px}
.wz-summary div{padding:10px 0;border-top:1px solid rgba(17,16,19,.14)}
.wz-summary dt{margin-bottom:3px;font-size:12px;color:#544b4d}
.wz-summary dd{margin:0;font-size:15px;font-weight:600;line-height:1.35;overflow-wrap:anywhere}
.wz-check{display:flex;gap:10px;align-items:flex-start;margin-top:14px;font-size:12px;line-height:1.5;color:#544b4d;cursor:pointer}
.wz-check input{flex:none;width:18px;height:18px;margin:1px 0 0;accent-color:var(--red)}
.wz-send{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 12px}

.wz-nav{display:none;justify-content:space-between;align-items:center;margin-top:20px;padding-top:16px;border-top:1px solid rgba(17,16,19,.14)}
.wizard.live .wz-nav{display:flex}
#w-back{padding:10px 4px;font-size:14px;font-weight:600;color:#544b4d}
#w-back:hover,#w-back:active{color:var(--ink)}
#w-back[hidden],#w-next[hidden]{display:none}
#w-next{margin-left:auto}

/* three steps */
.wz-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);margin-top:14px}
.wz-three div{padding:20px;border-radius:var(--r-s);background:var(--blush-2)}
.wz-three i{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--red);color:#fff;font-style:normal;font-weight:800}
.wz-three h3{margin:12px 0 6px;font-size:20px;letter-spacing:-.02em}
.wz-three p{font-size:14px;line-height:1.55;color:var(--grey)}

@media (max-width:860px){
  .wz-photos img{width:64px;height:88px}
  .wz-head{gap:14px}
  .wz-head.group .wz-photos{gap:8px}
  .wz-head.group .wz-photos a{max-width:none}
  .wz-arrows button{width:36px;height:36px}
  .wz-picks{grid-template-columns:minmax(0,1fr);max-height:400px}
  .wz-party-picks{max-height:none}
  .wz-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wz-three{grid-template-columns:minmax(0,1fr)}
  .wz-steps i{width:34px;height:34px}
  .wz-steps::before{top:17px}
  .wz-steps span{font-size:10px}
}
@media (max-width:520px){
  .wz-grid,.wz-durs{grid-template-columns:minmax(0,1fr)}
  .wz-send .btn{flex:1 1 100%}
  /* the arrows drop under her name, so a long name still has room */
  .wz-head:not(.group){grid-template-columns:auto minmax(0,1fr)}
  .wz-arrows{grid-column:1/-1;justify-content:flex-end;margin-top:-8px}
}
@media (prefers-reduced-motion:reduce){.wizard.live .wz-panel.on{animation:none}}
