.booking-page{background:var(--cream);min-height:70vh;padding:48px 15px 80px}.booking-wrap{max-width:var(--container);margin:0 auto}.booking-title{text-align:center;margin-bottom:36px}.booking-title h1{color:var(--navy);margin-top:8px;font-size:44px;font-weight:500;line-height:1.15}.booking-grid.single{grid-template-columns:minmax(0,1fr);max-width:860px;margin:0 auto}.panel h2.center{text-align:center}.panel h2 .num{color:var(--taupe);margin-right:4px}.chosen{background:var(--cream-2);border-radius:6px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;padding:18px 20px;display:flex;position:relative}.chosen .info strong{color:var(--navy);font-size:17px;font-weight:500;display:block}.chosen .ctrl{flex-shrink:0;align-items:center;gap:18px;padding-right:36px;display:flex}.chosen select{font-family:var(--sans);color:var(--text);appearance:none;cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%231e3d75' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E") right 16px center no-repeat;border:1px solid #cfcac2;border-radius:6px;min-width:200px;padding:11px 44px 11px 14px;font-size:14px}.chosen .info{padding-right:28px}.trash{width:32px;height:32px;color:var(--danger);cursor:pointer;background:#fdecea;border:0;border-radius:4px;place-items:center;transition:background .2s;display:grid;position:absolute;top:10px;right:10px}.trash:hover{background:#f8d7d3}.add-more{margin-top:6px}.bk-modal-back{z-index:100;background:#141e3280;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.bk-modal{background:#fff;border-radius:6px;width:100%;max-width:760px;max-height:90vh;padding:26px 30px 30px;overflow:auto}.bk-modal-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.bk-modal-head h2{color:var(--navy);margin:0;font-size:26px;font-weight:500}.bk-close{cursor:pointer;width:38px;height:38px;color:var(--navy);background:0 0;border:1px solid #1e3d754d;border-radius:2px}.booking-grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:32px;display:grid}.panel{background:#fff;padding:30px}.panel+.panel{margin-top:20px}.panel h2{color:var(--navy);margin-bottom:18px;font-size:26px;font-weight:500}.steps{font-family:var(--sans);text-transform:uppercase;letter-spacing:1px;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:28px;font-size:12px;font-weight:600;display:flex}.steps span{color:var(--strip-text);opacity:.55;border-bottom:2px solid #0000;padding:6px 12px}.steps span.active{opacity:1;color:var(--navy);border-color:var(--navy)}.steps span.done{opacity:1}.cat+.cat{margin-top:28px}.cat h3{color:var(--taupe);margin-bottom:8px;font-size:24px;font-weight:700}.svc-row{border-top:1px solid #c6a77b66}.svc{justify-content:space-between;align-items:center;gap:20px;padding:16px 4px 8px;display:flex}.svc .t{color:var(--navy);font-size:18px;font-weight:500;display:block}.sub{font-family:var(--sans);color:var(--muted);margin-top:4px;font-size:14px;display:block}.sub i{opacity:.5;margin:0 2px;font-style:normal}.sub b{color:var(--text);font-weight:600}.svc .btn{flex-shrink:0;min-width:96px}.svc-row .d{font-family:var(--sans);color:var(--muted);margin:0 4px 14px;font-size:13px;line-height:1.6}.more,.more-cat{font-family:var(--sans);color:var(--navy);cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;font-weight:700;text-decoration:underline}.more{color:inherit;margin-left:8px;font-size:12px;font-weight:500}.more-cat{text-transform:uppercase;letter-spacing:.5px;margin:10px auto 0;padding:10px 14px;font-size:12px;display:block}.total{font-family:var(--sans);color:var(--navy);border-top:1px solid #c6a77b80;justify-content:space-between;align-items:center;margin:4px 4px 18px;padding-top:14px;font-weight:700;display:flex}.total b{font-size:18px}.when{font-family:var(--sans);background:var(--cream-2);margin-bottom:18px;padding:12px 14px;font-size:14px;line-height:1.6}.rm{color:var(--muted);cursor:pointer;font-size:12px;font-family:var(--sans);background:0 0;border:0;padding:0;text-decoration:underline}.pick{flex-wrap:wrap;gap:10px;margin-bottom:22px;display:flex}.chip{font-family:var(--sans);color:var(--navy);cursor:pointer;background:#fff;border:1px solid #1e3d7559;border-radius:2px;padding:10px 18px;font-size:14px;font-weight:500}.chip[aria-pressed=true]{background:var(--navy);color:#fff;border-color:var(--navy)}.chip:disabled{opacity:.4;cursor:not-allowed}.cal-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.cal-head strong{color:var(--navy);text-transform:capitalize;font-size:20px;font-weight:500}.cal-nav{cursor:pointer;width:38px;height:38px;color:var(--navy);background:0 0;border:1px solid #1e3d754d;border-radius:2px;font-size:16px}.cal-nav:disabled{opacity:.3;cursor:not-allowed}.cal{font-family:var(--sans);grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.cal .dow{text-align:center;text-transform:uppercase;color:var(--taupe);padding:6px 0;font-size:11px;font-weight:700}.cal button{background:var(--cream-2);height:46px;color:var(--navy);cursor:pointer;border:1px solid #0000;border-radius:2px;font-size:14px}.cal button:hover:not(:disabled){border-color:var(--navy)}.cal button[aria-pressed=true]{background:var(--navy);color:#fff}.cal button:disabled{color:#b8b4ae;cursor:not-allowed;background:0 0}.cal .blank{visibility:hidden}.slots{margin-top:24px}.slots h3{color:var(--navy);margin-bottom:12px;font-size:18px;font-weight:500}.slots h3:first-letter{text-transform:uppercase}.slot-grid{grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:8px;display:grid}.slot-grid button{font-family:var(--sans);color:var(--navy);cursor:pointer;background:#fff;border:1px solid #1e3d7559;border-radius:2px;padding:11px 0;font-size:14px;font-weight:500}.slot-grid button:hover{background:var(--cream-2)}.slot-grid button[aria-pressed=true]{background:var(--navy);color:#fff}.muted{font-family:var(--sans);color:var(--muted);font-size:14px}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.field{gap:6px;display:grid}.field.full{grid-column:1/-1}.field label{font-family:var(--sans);color:var(--text);font-size:13px;font-weight:600}.field input,.field select,.field textarea{font-family:var(--sans);color:var(--text);background:#fff;border:1px solid #cfcac2;border-radius:2px;width:100%;padding:12px 14px;font-size:15px}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--navy);outline-offset:-1px}.consent{font-family:var(--sans);color:var(--muted);align-items:flex-start;gap:10px;margin-top:18px;font-size:13px;line-height:1.5;display:flex}.consent input{accent-color:var(--navy);margin-top:3px}.error{font-family:var(--sans);color:var(--danger);background:#fdf1f0;border:1px solid #f0c8c5;margin-top:16px;padding:10px 14px;font-size:14px}.notice{font-family:var(--sans);color:var(--text);background:var(--cream-2);border-left:3px solid var(--gold);margin-top:16px;padding:10px 14px;font-size:14px;line-height:1.6}.actions{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.confirm-icon{background:var(--navy);color:#fff;border-radius:50%;place-items:center;width:56px;height:56px;margin-bottom:16px;font-size:26px;display:grid}.rows{font-family:var(--sans);gap:10px;margin:18px 0;font-size:15px;display:grid}.rows>div{grid-template-columns:130px 1fr;gap:12px;display:grid}.rows dt{color:var(--muted)}.rows dd{margin:0}@media (max-width:900px){.booking-grid{grid-template-columns:1fr}.booking-title h1{font-size:34px}}@media (max-width:640px){.chosen{flex-direction:column;align-items:stretch}.chosen .ctrl{justify-content:space-between;padding-right:0}.chosen select{flex:1;min-width:0}.svc{align-items:flex-start}}@media (max-width:560px){.panel{padding:20px 16px}.form-grid{grid-template-columns:1fr}.rows>div{grid-template-columns:1fr;gap:2px}}.recap{margin:4px 0 18px}.panel .lead+.recap{margin-top:18px}.recap-rows{font-family:var(--sans);gap:14px;margin:0 0 14px;font-size:15px;display:grid}.recap-rows>div{grid-template-columns:130px 1fr;gap:12px;display:grid}.recap-rows dt{color:var(--muted)}.recap-rows dd{margin:0;line-height:1.6}.recap-line{justify-content:space-between;gap:16px;display:flex}.recap-line+.recap-line{margin-top:6px}.recap-totals{font-family:var(--sans);border-top:1px solid #c6a77b80;gap:8px;padding-top:12px;font-size:15px;display:grid}.recap-totals>div{justify-content:space-between;display:flex}.recap-totals>div:first-child{color:var(--navy);font-weight:700}.policy{border-top:1px solid #c6a77b80;margin-top:20px;padding-top:18px}.policy h3{font-family:var(--sans);color:var(--text);margin:0 0 6px;font-size:15px;font-weight:700}.policy p{font-family:var(--sans);color:var(--muted);font-size:14px;line-height:1.7}.pay-btn{flex:1;min-width:200px}.linkbtn{font-family:var(--sans);color:var(--navy);cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;text-decoration:underline}@media (max-width:560px){.recap-rows>div{grid-template-columns:1fr;gap:2px}}.cal button.full:not(:disabled){color:#b8b4ae;background:0 0;border:1px dashed #e3ded6;text-decoration:line-through}.cal button.full[aria-pressed=true]{background:var(--navy);color:#fff;border-style:solid}
