.booking-main{padding:76px 0 105px;background:radial-gradient(circle at 97% 2%,#ebd6b8 0,transparent 24%),var(--cream)}
.back-link{font-size:13px;font-weight:700;color:#544b43;padding:8px 14px}
.booking-top{display:grid;grid-template-columns:1.35fr .65fr;gap:60px;align-items:center;margin-bottom:38px}
.booking-top h1{font-size:clamp(42px,4.6vw,64px);line-height:1.1;max-width:820px;margin-bottom:20px}.booking-top h1 em{font-family:Georgia,serif;font-weight:400;color:#b28032}
.booking-top>div>p:last-child{font-size:15px;color:#625b52;max-width:610px}
.booking-notice{border:1px solid #e4d6c4;border-left:5px solid #d3a047;background:#fff8ea;padding:22px 24px;border-radius:0 18px 18px 0}
.booking-notice strong{font-size:14px}.booking-notice p{font-size:12px;line-height:1.7;margin:7px 0 0}
.booking-box{background:#fffefb;border:1px solid #e9dbc7;border-radius:30px;padding:40px 48px 48px;box-shadow:0 25px 55px #5a452215;max-width:1110px;scroll-margin-top:110px}
.booking-progress{list-style:none;margin:0 0 45px;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.booking-progress li{display:flex;flex-direction:column;align-items:center;gap:5px;color:#a9a19a;position:relative}.booking-progress li:not(:last-child):after{content:"";position:absolute;width:calc(100% - 44px);left:calc(50% + 25px);top:19px;border-top:1px dashed #d7c4a8}.booking-progress li span{height:41px;width:41px;border:1px solid #dfd4c2;display:grid;place-items:center;border-radius:50%;background:white;font-size:13px}.booking-progress li small{font-size:11px;font-weight:700}.booking-progress li.is-active{color:#282420}.booking-progress li.is-active span{background:#e0b566;border-color:#e0b566;color:#191612}
.booking-step{display:none}.booking-step.is-active{display:block}.booking-step-head{margin-bottom:30px}.booking-step-head h2{font-size:clamp(29px,3.2vw,43px);margin-bottom:10px}.booking-step-head p:not(.eyebrow){max-width:720px;color:#71675b;font-size:14px}
.form-subtitle{margin:32px 0 16px;display:flex;align-items:center;gap:13px}.form-subtitle span{background:#f2dbb1;border-radius:50%;display:grid;place-items:center;height:35px;width:35px;font-size:11px;font-weight:800}.form-subtitle h3{font-size:22px;margin:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px}.form-grid--stack{grid-template-columns:1fr}
.field{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:700;color:#2e2a28;min-width:0}.field span b,.radio-cards legend b,.business-options legend b{color:#bc7a39}
.field input,.field textarea,.field select{font-family:inherit;background:#fffdf9;border:1px solid #d9d0c4;border-radius:12px;padding:14px 15px;font-size:14px;font-weight:500;color:#17191f;width:100%;min-height:49px;line-height:1.5;transition:box-shadow .2s,border-color .2s}.field textarea{resize:vertical;min-height:100px}.field input:focus,.field textarea:focus,.field select:focus{outline:0;border-color:#b58a46;box-shadow:0 0 0 3px rgba(215,169,77,.2)}.field small{font-size:11px;font-weight:400;color:#736a5e}.field input:disabled,.field select:disabled{opacity:.7}
.radio-cards,.business-options{border:0;margin:0;padding:0}.radio-cards legend,.business-options legend{font-size:13px;font-weight:700;margin-bottom:14px}.radio-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.radio-cards legend{grid-column:1/-1}
.choice-card{display:flex;gap:11px;background:#faf5eb;border:1px solid #e4d7c7;padding:18px 15px;border-radius:17px;cursor:pointer;align-items:flex-start}.choice-card:has(input:checked){border-color:#b28a3e;background:#fdf0d5;box-shadow:0 0 0 2px #f4daa7}.choice-card:nth-of-type(2):has(input:checked){background:#e5f6f8}.choice-card:nth-of-type(3):has(input:checked){background:#ffedf0}.choice-card input,.business-choice input{accent-color:#af7c31;margin:4px 0 0;flex-shrink:0}.choice-card strong{display:block;font-size:14px;line-height:1.32}.choice-card small{display:block;font-size:11px;color:#776c60;line-height:1.6;margin-top:8px}
.business-option-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.business-choice{display:flex;align-items:flex-start;gap:11px;border:1px solid #e3d9c7;padding:13px 14px;background:#fffcf6;border-radius:12px;font-size:12px;font-weight:600;line-height:1.5;cursor:pointer}.business-choice:has(input:checked){border-color:#a77a32;background:#fbeed6}.business-more{background:#edf7f8;border-radius:14px;padding:13px 16px;margin:18px 0 20px;font-size:13px}.business-more .link-pending{color:#95691f;text-decoration:underline;margin:0 6px}.business-more small{display:block;color:#716c66;font-size:11px}
.idea-location,.existing-fields{background:#f9f5ee;border:1px solid #e9e0d2;padding:22px;border-radius:17px;margin:20px 0 6px}#postal-details{margin-top:19px}.form-error{background:#fff0eb;border-left:4px solid #ca6344;padding:12px 15px;border-radius:5px;color:#8f3220;font-weight:600;font-size:12px;margin:21px 0 0}
.booking-actions{display:flex;gap:16px;justify-content:space-between;margin-top:30px}.booking-actions--end{justify-content:flex-end}.booking-actions .btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}
.booking-branches{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.booking-branches button{background:#fffdf9;border:1px solid #e8dccb;border-radius:17px;padding:0 0 17px;text-align:left;overflow:hidden;cursor:pointer;transition:transform .2s,box-shadow .2s}.booking-branches button:hover{transform:translateY(-4px);box-shadow:0 8px 22px #0001}.booking-branches button.is-selected{outline:3px solid #e4b966;border-color:#b68c49;background:#fff8e9}.booking-branches img{width:100%;height:115px;object-fit:cover;margin-bottom:12px}.booking-branches b,.booking-branches small{display:block;margin:0 14px}.booking-branches b{font-size:14px}.booking-branches small{font-size:11px;color:#766b61}
.demo-warning{background:#fff0ce;border-left:4px solid #bc8432;border-radius:0 13px 13px 0;padding:15px 19px;font-size:12px;margin-bottom:25px;color:#635137}.booking-date-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:30px}.booking-date-label{display:block;font-size:14px;font-weight:700}.booking-date-label input{display:block;width:100%;margin-top:10px;padding:15px;border:1px solid #d7cbb8;border-radius:11px;font-size:14px;background:white}.time-list{border:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0}.time-list legend{font-size:14px;font-weight:700;margin-bottom:11px}.time-list button{border:1px solid #dbcab2;background:#fffdf9;border-radius:11px;padding:13px}.time-list button:hover,.time-list button.is-selected{background:#ecd2a1;border-color:#ad7f37}
.booking-summary{border:1px solid #e9ddcc;border-radius:16px;overflow:hidden}.booking-summary>div{display:grid;grid-template-columns:1fr 1.7fr;padding:16px 20px;gap:20px;border-bottom:1px solid #eee5d8;font-size:13px}.booking-summary>div:last-child{border-bottom:0}.booking-summary span{color:#70645b}.booking-summary strong{font-weight:700}.booking-bottom{color:#796c60;font-size:12px;margin-top:20px}
[hidden]{display:none!important}
@media(max-width:900px){.booking-branches{grid-template-columns:repeat(3,minmax(0,1fr))}.business-option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-top{gap:25px}}
@media(max-width:760px){.booking-main{padding-top:54px}.booking-top{grid-template-columns:1fr;gap:18px}.booking-top h1{font-size:clamp(36px,8vw,53px)}.booking-box{padding:26px 18px 34px;border-radius:22px}.booking-progress{gap:4px}.booking-progress li small{font-size:9px;text-align:center}.booking-progress li span{width:35px;height:35px;font-size:10px}.booking-progress li:not(:last-child):after{width:calc(100% - 36px);left:calc(50% + 20px);top:16px}.form-grid{grid-template-columns:1fr}.radio-cards{grid-template-columns:1fr}.business-option-grid{grid-template-columns:1fr 1fr}.booking-branches{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-date-grid{grid-template-columns:1fr}.booking-summary>div{grid-template-columns:1fr;gap:3px}.booking-actions .btn{padding-inline:14px;font-size:11px}.back-link{font-size:11px}}
@media(max-width:430px){.business-option-grid{grid-template-columns:1fr}.booking-branches img{height:95px}.booking-branches b{font-size:12px}.choice-card{padding:13px}.booking-actions{gap:6px}.booking-actions .btn{white-space:normal}}
