.back-link{color:#ffffffbf;align-items:center;gap:8px;font-size:14px;display:flex}.back-link:hover{color:var(--flash)}.page-head{background:var(--ink);color:var(--flash);padding:64px 0 72px;position:relative;overflow:hidden}.page-head:after{content:"";pointer-events:none;background:radial-gradient(at 80% 10%,#2f6fed38,#0000 55%);position:absolute;inset:0}.page-head h1{margin:14px 0;font-size:clamp(38px,5.5vw,64px);position:relative}.page-head p{color:#ffffffad;max-width:480px;font-size:16px;position:relative}.booking{padding:72px 0 96px}.booking-grid{grid-template-columns:1.5fr 1fr;align-items:start;gap:40px;display:grid}.form-card{background:var(--cream);border:1px solid var(--line-light);border-radius:16px;padding:40px}.form-card h2{margin-bottom:8px;font-size:30px}.form-card .sub{color:var(--graphite);margin-bottom:32px;font-size:14.5px}.field{margin-bottom:22px}.field label{color:var(--ink);margin-bottom:8px;font-size:13px;font-weight:600;display:block}.field .hint{font-family:var(--mono);color:var(--graphite);margin-left:4px;font-size:11.5px;font-weight:400}.field input,.field select{width:100%;font-family:var(--body);border:1px solid var(--line-light);background:var(--flash);color:var(--ink);border-radius:8px;padding:13px 16px;font-size:15px;transition:border-color .15s,box-shadow .15s}.field input::placeholder{color:#9aaac2}.field input:focus,.field select:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px #2f6fed26}.field input:invalid:not(:placeholder-shown),.field select:invalid{border-color:var(--red)}.field-row{grid-template-columns:1fr 1fr;gap:18px;display:grid}.field-error{color:var(--red);font-size:12.5px;font-family:var(--mono);margin-top:6px;display:none}.field.has-error input,.field.has-error select{border-color:var(--red)}.field.has-error .field-error{display:block}.form-card .btn-primary{width:100%;margin-top:8px;padding:16px 26px;font-size:16px}.form-note{color:var(--graphite);text-align:center;margin-top:14px;font-size:12.5px}.side-card{background:var(--ink);color:var(--flash);border-radius:16px;margin-bottom:20px;padding:34px 30px}.side-card h3{font-family:var(--body);margin-bottom:18px;font-size:17px;font-weight:700}.side-steps li{color:#ffffffc7;border-top:1px solid var(--line-dark);gap:14px;padding:12px 0;font-size:13.5px;display:flex}.side-steps li:first-child{border-top:none;padding-top:0}.side-steps .n{font-family:var(--mono);color:var(--blue);flex-shrink:0}.side-card.contact{background:var(--cream);color:var(--ink)}.side-card.contact h3{color:var(--ink)}.side-card.contact p{color:var(--graphite);margin-bottom:18px;font-size:13.5px}.side-card.contact .btn{width:100%}@media (max-width:900px){.booking-grid{grid-template-columns:1fr}.form-card{padding:28px 22px}.field-row{grid-template-columns:1fr}}.confirm-card{background:var(--cream);text-align:center;border-radius:16px;padding:48px 40px;display:none}.confirm-card.show{display:block}.form-card.hide{display:none}.confirm-icon{background:var(--blue);width:56px;height:56px;color:var(--flash);font-family:var(--display);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 20px;font-size:26px;display:flex}.confirm-card h2{margin-bottom:10px;font-size:28px}.confirm-card p{color:var(--graphite);margin-bottom:28px;font-size:14.5px}.confirm-summary{background:var(--flash);text-align:left;border-radius:10px;margin-bottom:28px;padding:20px 24px}.confirm-summary div{border-top:1px solid var(--line-light);justify-content:space-between;gap:12px;padding:9px 0;font-size:13.5px;display:flex}.confirm-summary div:first-child{border-top:none}.confirm-summary .k{color:var(--graphite)}.confirm-summary .v{text-align:right;font-weight:600}.confirm-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.qr-box{background:var(--flash);border-radius:12px;flex-direction:column;align-items:center;gap:14px;margin-bottom:28px;padding:24px;display:inline-flex}.qr-amount{font-family:var(--mono);color:var(--graphite);font-size:13px}.qr-amount b{color:var(--ink);font-size:18px;font-family:var(--body)}.qr-status{font-family:var(--mono);color:var(--blue);font-size:12.5px}footer{background:var(--ink);border-top:1px solid var(--line-dark);color:#fff9;text-align:center;padding:32px 0;font-size:13px}
