/* The booking experience carries the same sign, paint and turquoise palette. */
#booking{width:min(880px,calc(100% - 48px));max-height:92dvh;background:var(--paper);border:0}
#booking .booking-shell{padding:0}
#booking .booking-header{height:112px;display:flex;justify-content:space-between;align-items:center;padding:15px 30px;background:#087584 url('assets/sequin-panel-v3.png') center/cover no-repeat;border-bottom:3px solid #00677d}
.booking-header>img{width:260px;height:87px;object-fit:contain;filter:drop-shadow(0 1px 2px #00363c99)}
#booking .icon-button{background:#f3fcfd;color:var(--ink);width:44px;height:44px;border:1px solid #e1f6f8;font-size:1.7rem;flex:none}
.booking-caption{display:flex;justify-content:space-between;gap:16px;padding:18px 32px 0;font-size:.43rem;letter-spacing:1.5px;color:#3a7482}.booking-caption>span{font-size:.48rem;letter-spacing:0;color:var(--muted)}
#booking .booking-progress{padding:20px 32px 18px;margin:0;gap:0;display:grid;grid-template-columns:repeat(4,1fr);font-size:.6rem;border-bottom:1px solid var(--line)}
.booking-progress>span{position:relative;padding-bottom:6px}.booking-progress>span.current:after{content:'';position:absolute;bottom:-18px;left:0;right:20px;height:3px;background:var(--green)}.booking-progress>span.completed{color:var(--green)}
#booking-content{padding:29px 32px 32px}
#booking .booking-title{position:relative;isolation:isolate;max-width:700px;font-size:2rem;line-height:1.13;letter-spacing:-1.2px;margin-bottom:17px}
#booking .booking-title:before{content:'';position:absolute;bottom:-8px;left:-10px;width:215px;height:55px;background:url('assets/paint.png') center/contain no-repeat;opacity:.28;z-index:-1;transform:rotate(-3deg);pointer-events:none}
#booking .booking-subtitle{font-size:.7rem;margin-bottom:22px;max-width:650px}
.booking-categories{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:24px}.booking-categories>button{background:transparent;border:1px solid #a9cad1;padding:9px 13px;color:var(--ink);font-size:.6rem;line-height:1.5;min-height:40px}.booking-categories>button:hover{background:#e2f1f4}.booking-categories>button[aria-pressed=true]{background:var(--green);color:#fff;border-color:var(--green)}
#booking .field{font-size:.7rem;margin-bottom:21px}#booking .field select{width:100%;max-width:100%;font-size:.73rem;text-overflow:ellipsis}#booking .field input{font-size:.8rem}
#booking .booking-summary{border:1px solid #bedee2;border-left:3px solid var(--green);background:#e6f3f4;padding:16px 18px;font-size:.73rem;margin-bottom:20px}#booking .booking-summary>span{font-size:.65rem;line-height:1.9}
#booking .demo-note{font-size:.62rem;line-height:1.8;margin-block:15px 21px;padding:12px 14px}#booking .privacy-note{font-size:.62rem}#booking .booking-actions{margin-top:25px;gap:15px}#booking .booking-actions .button{font-size:.67rem;min-height:54px;padding:14px 20px;gap:18px}
.master-options{display:grid;gap:12px}.master-option{display:flex;width:100%;align-items:center;text-align:left;gap:17px;padding:17px 18px;border:1px solid #bed7dc;background:#f4faf9;color:var(--ink)}.master-option:hover{background:#e6f3f5}.master-option[aria-pressed=true]{background:#deeff2;border:2px solid var(--green);padding:16px 17px}.master-mark{display:grid;place-items:center;width:53px;height:53px;flex:none;font-family:var(--serif);font-size:1.2rem;background:#cce9ed url('assets/paint.png') center/cover no-repeat;color:#0a4d5d}.master-info{min-width:0}.master-info strong{display:block;font-size:.77rem;font-weight:500;line-height:1.5}.master-info small{display:block;font-size:.59rem;color:var(--muted);line-height:1.7;margin-top:3px}.master-check{margin-left:auto;flex:none;font-size:1.1rem;color:var(--green)}
#booking .choice-label{font-size:.7rem}#booking .choice-grid{gap:10px}#booking .date-grid{gap:8px}#booking .date-choice{font-size:.73rem;min-height:68px}#booking .date-choice span{font-size:.55rem}#booking .time-choice{font-size:.73rem}#booking .success-actions{gap:12px}#booking .success-actions .button{font-size:.67rem}
@media(max-width:800px){#booking{width:calc(100% - 36px)}#booking .booking-header{height:100px}.booking-header>img{width:230px;height:76px}#booking .booking-title{font-size:1.9rem}.booking-caption{font-size:.45rem}.booking-caption>span{font-size:.52rem}}
@media(max-width:560px){#booking{width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0}#booking .booking-header{height:96px;padding:10px 20px}.booking-header>img{width:230px;height:76px}#booking .icon-button{width:40px;height:40px;font-size:1.6rem}.booking-caption{padding:17px 20px 0;display:block;font-size:.49rem;letter-spacing:1.4px}.booking-caption>span{display:block;margin-top:7px;font-size:.62rem}#booking .booking-progress{padding:18px 20px 16px;font-size:.56rem;gap:8px}.booking-progress>span.current:after{bottom:-16px;right:4px}#booking-content{padding:25px 20px 28px}#booking .booking-title{font-size:1.85rem}#booking .booking-subtitle{font-size:.75rem}.booking-categories{gap:7px;margin-bottom:20px}.booking-categories>button{font-size:.65rem;padding:8px 11px}#booking .field{font-size:.78rem}#booking .field select{font-size:.8rem}#booking .field input{font-size:.9rem}#booking .booking-summary{font-size:.78rem;padding:14px 15px}#booking .booking-summary>span{font-size:.7rem}#booking .demo-note{font-size:.69rem}#booking .privacy-note{font-size:.67rem}#booking .booking-actions .button{font-size:.71rem;padding:14px 15px;gap:10px}.master-option{gap:12px;padding:15px 13px}.master-option[aria-pressed=true]{padding:14px 12px}.master-mark{width:43px;height:48px;font-size:1.2rem}.master-info strong{font-size:.82rem}.master-info small{font-size:.66rem}.master-check{font-size:1rem}#booking .date-grid{gap:5px}#booking .date-choice{font-size:.75rem;min-height:64px;padding:7px 2px}#booking .date-choice span{font-size:.53rem}#booking .choice-grid:not(.date-grid){gap:7px}#booking .time-choice{font-size:.78rem}#booking .choice-label{font-size:.78rem}#booking .success-actions{flex-direction:column}#booking .success-actions .button{font-size:.75rem}}
