.booking-redesign .booking-page{max-width:820px;margin:0 auto;padding:48px 0 32px}
.booking-redesign .booking-intro{margin-bottom:28px}
.booking-redesign .booking-intro h1{font-size:18px;line-height:1.85;letter-spacing:.055em;margin:0 0 14px;max-width:none;color:#50685d;font-weight:600;}
.booking-redesign .booking-intro .section-intro{margin:0;text-align:left;max-width:none;font-size:14px;line-height:1.8}
.booking-redesign .booking-form-layout{display:block;max-width:none;margin:0}
.booking-redesign .booking-form-card{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.booking-redesign .booking-required-note{padding:0;margin:0 0 22px;border:0;background:transparent;border-radius:0;font-size:12px;font-weight:400;line-height:1.7;color:#67776e}
.booking-redesign .booking-step{padding:28px 0;margin:0;border-top:1px solid #dbe1df}
.booking-redesign .booking-step-head{margin:0 0 22px;gap:12px}
.booking-redesign .booking-step-num{width:30px;height:30px;border-radius:50%;background:#e7eee7;color:#355d4b;box-shadow:none;font-size:13px}
.booking-redesign .booking-step h2{font-size:20px;line-height:1.8;margin:0;color:#1c3d50;font-weight:600;letter-spacing:.015em;}
.booking-redesign .booking-form-card label,.booking-redesign .booking-form-card legend{font-size:14px;font-weight:600;color:#324c58;line-height:1.7}
.booking-redesign .booking-form-card input:not([type=radio]):not([type=checkbox]):not([type=file]):not([type=hidden]),.booking-redesign .booking-form-card textarea{border:1px solid #cdd8d1;background:#fff;border-radius:4px;box-shadow:none;font-size:16px;font-weight:400;padding:13px 14px;color:#203e4b}
.booking-redesign .booking-form-card input:focus,.booking-redesign .booking-form-card textarea:focus{outline:2px solid #54816b;outline-offset:2px}
.booking-redesign .form-note,.booking-redesign .field-optional{font-size:12px;font-weight:400;line-height:1.8;color:#66786d}
.booking-redesign .form-note a{text-decoration:underline;text-underline-offset:3px}
.booking-redesign .choice-row,.booking-redesign .checkbox-panel{background:transparent;border:0;border-radius:0;padding:10px 0;margin:16px 0}
.booking-redesign .choice-row label{margin-right:18px;min-height:36px;align-items:center}
.booking-redesign input[type=radio],.booking-redesign input[type=checkbox]{accent-color:#26704f}
.booking-redesign .issue-pills label{border:1px solid #cdd8d1;border-radius:4px;background:#fff;box-shadow:none;padding:9px 12px}
.booking-redesign .booking-price-strip{margin:0 0 26px;border:1px solid #d9e2d8;border-radius:4px;background:#eef3ec;padding:16px 20px;box-shadow:none}
.booking-redesign summary{cursor:pointer;color:#315b47;font-size:14px;font-weight:600;line-height:1.7}
.booking-redesign .booking-price-strip-main{margin-top:18px;gap:10px}
.booking-redesign .booking-price-strip-main strong{font-size:14px;line-height:1.8}
.booking-redesign .booking-price-strip-note{font-size:12px;font-weight:400;line-height:1.8}
.booking-redesign .booking-photo-guide{background:transparent;border:1px solid #d9e2d8;box-shadow:none;border-radius:4px;padding:16px 20px;margin-bottom:20px}
.booking-redesign .booking-photo-guide-intro{margin-top:20px}
.booking-redesign .booking-photo-guide-card{background:transparent;box-shadow:none;border:0;border-radius:0;padding:0}
.booking-redesign .booking-photo-guide-title{font-size:17px}
.booking-redesign .booking-photo-guide-card figure{border-radius:3px}
.booking-redesign .photo-upload-panel{padding:0;background:transparent;box-shadow:none;border:0}
.booking-redesign .photo-upload-trigger{border:1px dashed #7d9c87;border-radius:4px;background:#f0f4ed;box-shadow:none;padding:28px 18px}
.booking-redesign .photo-upload-title{font-size:18px}
.booking-redesign .photo-upload-sub,.booking-redesign .photo-upload-drag-note,.booking-redesign .photo-hint{font-size:12px;font-weight:400;line-height:1.7}
.booking-redesign .form-actions{margin-top:24px;gap:14px}
.booking-redesign .form-actions .cta{border-radius:4px;box-shadow:none;min-height:50px;font-size:15px}
.booking-redesign .form-actions .primary{background:#173d53;color:#fff}
.booking-redesign .form-actions .secondary{background:#167247;color:#fff;border-color:#167247}
.booking-redesign .booking-success-panel{border-radius:4px;background:#edf4e9;box-shadow:none}
.booking-redesign .floating-actions .booking{display:none}
@media(max-width:720px){.booking-redesign .booking-page{padding:28px 0 12px}.booking-redesign .booking-intro h1{font-size:18px;line-height:1.85;font-weight:600;letter-spacing:.055em;color:#50685d;}.booking-redesign .booking-intro .section-intro{font-size:13px}.booking-redesign .booking-intro{margin-bottom:18px}.booking-redesign .booking-required-note{margin-bottom:16px}.booking-redesign .booking-step{padding:23px 0}.booking-redesign .booking-step-head{margin-bottom:18px}.booking-redesign .booking-step h2{font-size:20px;font-weight:600;line-height:1.8;letter-spacing:.015em;}.booking-redesign .form-grid{gap:18px}.booking-redesign .booking-price-strip,.booking-redesign .booking-photo-guide{padding:14px 16px}.booking-redesign .choice-row label{display:flex;min-height:40px}.booking-redesign .form-actions{grid-template-columns:1fr}}
.booking-redesign .booking-form-card{gap:0}
.booking-redesign .booking-step-head{margin-bottom:4px}
.booking-redesign .booking-photo-guide-card h3{background:#e5eee4;color:#315847;border-radius:3px}
.booking-redesign .booking-photo-guide-tag,.booking-redesign .booking-photo-guide-foot{background:#eef3ec;border-radius:3px;color:#4e6758}
.booking-redesign .booking-form-card input.is-field-invalid,.booking-redesign .booking-form-card textarea.is-field-invalid,.booking-redesign .booking-form-card fieldset.is-field-invalid{border:1px solid #b42318!important;box-shadow:0 0 0 2px #b4231819!important}

/* Saved booking: continue the conversation on LINE. */
.booking-redesign .booking-success-panel{padding:30px 0;border:0;border-top:1px solid #dbe1df;background:transparent;box-shadow:none}
.booking-redesign .booking-success-panel h2{font-size:24px;line-height:1.65;font-weight:600;color:#1c3d50}
.booking-redesign .booking-success-panel p{font-size:16px;font-weight:400;line-height:1.85}
.booking-redesign .booking-success-panel .eyebrow{font-size:13px;font-weight:600;color:#50685d}
.booking-redesign .booking-success-panel .booking-receipt{font-size:14px;color:#607168;margin-bottom:24px;overflow-wrap:anywhere}
.booking-redesign .booking-line-followup{margin:26px 0;padding:24px;background:#edf3ed;border-radius:4px}
.booking-redesign .booking-line-followup label{display:block;font-size:14px;color:#50685d;margin-bottom:10px}
.booking-redesign #bookingLineMessage{display:block;box-sizing:border-box;width:100%;min-height:118px;resize:vertical;background:transparent;border:0;border-radius:0;padding:0;color:#203e4b;font:inherit;font-size:16px;line-height:1.85;overflow-wrap:anywhere}
.booking-redesign .booking-copy-message{min-height:44px;padding:6px 0;background:transparent;border:0;color:#315c50;font:inherit;font-size:14px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.booking-redesign .booking-success-panel .booking-copy-status{font-size:14px;color:#315c50;margin:0}
.booking-redesign .booking-line-next{display:flex;justify-content:center;gap:12px;width:100%;box-sizing:border-box;min-height:50px;margin-top:18px;background:#167247;color:white;border-radius:4px;font-size:16px;font-weight:600;text-decoration:none;box-shadow:none}
.booking-redesign .booking-success-panel .booking-line-hint{font-size:14px;margin:12px 0 0;color:#50685d}
.booking-redesign .booking-success-panel .booking-phone-fallback,.booking-redesign .booking-success-panel .booking-confirm-note{font-size:14px;color:#607168;margin-bottom:12px}
.booking-redesign .booking-copy-message:focus-visible,.booking-redesign #bookingLineMessage:focus-visible{outline:2px solid #54816b;outline-offset:4px}
@media(max-width:720px){.booking-redesign .booking-success-panel h2{font-size:22px}.booking-redesign .booking-line-followup{padding:20px 18px}.booking-redesign .booking-success-panel{padding-top:24px}}
