body{background-color:#f8f9fa;min-height:100vh}*{word-break:break-word;overflow-wrap:break-word}.section-booking{background-color:#f8f9fa;min-height:100vh;padding:4rem 0}.booking-container{background-color:#fff;border-radius:1rem;max-width:120rem;margin:0 auto 4rem;padding:3rem;box-shadow:0 .2rem 1rem #0000000d}.home-button{color:#fff;z-index:1000;background-color:#0dc4bb;border-radius:.5rem;align-items:center;padding:1rem 1.5rem;font-size:1.6rem;text-decoration:none;transition:all .3s;display:inline-flex;position:fixed;top:2rem;left:2rem;box-shadow:0 .2rem .5rem #0000001a}.home-button:hover{background-color:#0cb0a8;transform:translateY(-.2rem)}.home-button svg{width:1.8rem;height:1.8rem;margin-right:.8rem}.center-text{text-align:center;position:relative}.subheading{color:#b2d8db;text-transform:uppercase;letter-spacing:.1rem;margin-bottom:1.5rem;font-size:1.6rem;font-weight:500;display:block}.heading-secondary{color:#333;margin-bottom:4rem;font-size:3.6rem;font-weight:600}.heading-tertiary{color:#555;margin-bottom:2rem;font-size:2.4rem;font-weight:500}.booking-step-description{color:#666;word-wrap:break-word;overflow-wrap:break-word;margin-bottom:3.2rem;font-size:1.6rem}.booking-progress{margin-bottom:4rem;padding:2rem 0}.progress-bar-container{background:linear-gradient(135deg,#f8f9fa 0%,#fff 100%);border:1px solid #e9ecef;border-radius:1.5rem;padding:2rem;box-shadow:0 .4rem 1.2rem #0000000d}.progress-steps{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex;position:relative}.progress-line{z-index:1;background:linear-gradient(90deg,#e9ecef 0%,#dee2e6 100%);border-radius:1.5px;height:3px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.progress-line-active{z-index:2;background:linear-gradient(90deg,#b2d8db 0%,#9bc5c8 100%);border-radius:1.5px;height:3px;transition:width .6s cubic-bezier(.4,0,.2,1);position:absolute;top:50%;left:0;transform:translateY(-50%)}.progress-step{z-index:3;text-align:center;flex-direction:column;flex:1;align-items:center;min-width:9.5rem;display:flex;position:relative}.step-circle{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:4rem;min-width:4rem;height:4rem;min-height:4rem;margin-bottom:1rem;font-size:1.6rem;font-weight:700;transition:all .4s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden;box-shadow:0 .2rem .8rem #0000001a}.step-circle:not(.active):not(.completed){color:#6c757d;background:linear-gradient(135deg,#fff 0%,#f8f9fa 100%);border:2px solid #dee2e6}.step-circle.active{color:#fff;background:linear-gradient(135deg,#b2d8db 0%,#9bc5c8 100%);border:2px solid #b2d8db;transform:scale(1.05);box-shadow:0 .4rem 1.2rem #b2d8db66}.step-circle.completed{color:#fff;background:linear-gradient(135deg,#28a745 0%,#20c997 100%);border:2px solid #28a745}.step-text{color:#6c757d;white-space:nowrap;text-overflow:ellipsis;max-width:9.5rem;font-size:1.3rem;font-weight:500;line-height:1.3;transition:all .3s;overflow:hidden}.progress-step.active .step-text,.progress-step.completed .step-text{color:#495057;font-weight:600}.step-circle.active:before{content:"";z-index:-1;opacity:.6;background:linear-gradient(135deg,#b2d8db,#9bc5c8);border-radius:50%;animation:2s infinite pulse;position:absolute;inset:-2px}@keyframes pulse{0%{box-shadow:0 4px 8px #0000001a}50%{box-shadow:0 8px 16px #4caf5033}to{box-shadow:0 4px 8px #0000001a}}@media (max-width:768px){.progress-bar-container{padding:1.5rem 1rem}.step-circle{flex-shrink:0;width:3.5rem;min-width:3.5rem;height:3.5rem;min-height:3.5rem;font-size:1.4rem}.step-text{white-space:nowrap;max-width:8rem;font-size:1.2rem}.progress-step{flex:1;min-width:8rem}}@media (max-width:480px){.progress-bar-container{padding:1rem .5rem}.step-circle{flex-shrink:0;width:3rem;min-width:3rem;height:3rem;min-height:3rem;font-size:1.2rem}.step-text{white-space:nowrap;max-width:6rem;font-size:1.1rem}.progress-step{flex:1;min-width:6rem}.progress-line,.progress-line-active{height:2px}}.btn{cursor:pointer!important;text-align:center!important;border:none!important;border-radius:.5rem!important;padding:1.2rem 2.4rem!important;font-size:1.6rem!important;font-weight:500!important;text-decoration:none!important;transition:all .3s!important;display:inline-block!important}.btn-primary:hover:not(:disabled){background-color:#0cb0a8!important;transform:translateY(-.2rem)!important}.btn-primary:disabled{opacity:.6!important;cursor:not-allowed!important;background-color:#0dc4bb!important}.btn-secondary{color:#444!important;background-color:#f3f4f6!important}.btn-secondary:hover:not(:disabled){background-color:#e5e7eb!important;transform:translateY(-.2rem)!important}.form-actions{gap:1.6rem;margin-top:3.2rem;display:flex}.treatments-container{margin-bottom:4rem}.category-tabs{border-bottom:.1rem solid #e5e7eb;flex-wrap:wrap;gap:1.6rem;margin-bottom:2.4rem;padding-bottom:1.6rem;display:flex}.category-tab{cursor:pointer;color:#555;background-color:#f3f4f6;border:.1rem solid #e5e7eb;border-radius:.5rem;padding:.8rem 1.6rem;font-size:1.4rem;font-weight:500;transition:all .3s}.category-tab:hover{background-color:#e5e7eb;border-color:#d1d5db}.category-tab.active{color:#fff;background-color:#b2d8db;border-color:#b2d8db}.treatments-grid{grid-template-columns:repeat(auto-fill,minmax(28rem,1fr));gap:2.4rem;margin-bottom:3.2rem;display:grid}.treatment-card{cursor:pointer;background-color:#fff;border:.08rem solid #e5e7eb;border-radius:.8rem;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 .1rem .3rem #00000014}.treatment-card:nth-child(4n+1),.treatment-card:nth-child(4n+4){background-color:#cff3f1}.treatment-card:hover{transform:translateY(-.4rem);box-shadow:0 .4rem 1.2rem #0000001a}.treatment-card.selected{border-color:#b2d8db;box-shadow:0 0 0 .2rem #b2d8db}.treatment-image{width:100%;height:16rem;position:relative}.selected-overlay{color:#fff;background-color:#b2d8db;border-radius:50%;justify-content:center;align-items:center;width:2.4rem;height:2.4rem;font-weight:700;display:flex;position:absolute;top:1rem;right:1rem}.treatment-info{padding:1.6rem}.treatment-name{color:#333;margin-bottom:.8rem;font-size:1.8rem;font-weight:600}.treatment-description{color:#666;margin-bottom:1.6rem;font-size:1.4rem;line-height:1.5}.treatment-meta{color:#555;justify-content:space-between;font-size:1.4rem;display:flex}.treatment-duration,.treatment-price{align-items:center;gap:.4rem;display:flex}.treatment-summary{background-color:#f8f9fa;border-radius:.8rem;margin-top:3.2rem;padding:2rem}.summary-title{color:#333;margin-bottom:1.6rem;font-size:1.8rem;font-weight:600}.summary-items{margin-bottom:1.6rem}.summary-item{color:#555;justify-content:space-between;margin-bottom:.8rem;font-size:1.4rem;display:flex}.summary-item:last-child{margin-bottom:0}.summary-total{color:#333;border-top:.1rem solid #e5e7eb;justify-content:space-between;padding-top:1.6rem;font-size:1.6rem;font-weight:600;display:flex}.datetime-selection-container{background-color:#fff;margin-bottom:4rem}.calendar-container{background-color:#fff;margin-bottom:3.2rem}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:1.6rem;display:flex}.month-nav-btn{color:#555;cursor:pointer;background:0 0;border:none;border-radius:.4rem;padding:.4rem 1.2rem;font-size:2rem;transition:all .3s}.month-nav-btn:hover{background-color:#f3f4f6}.current-month{color:#333;font-size:1.8rem;font-weight:500}.calendar-weekdays{grid-template-columns:repeat(7,1fr);gap:.4rem;margin-bottom:.8rem;display:grid}.weekday{text-align:center;color:#777;padding:.8rem 0;font-size:1.4rem;font-weight:500}.calendar-days{background-color:#fff;grid-template-columns:repeat(7,1fr);gap:.4rem;display:grid}.calendar-day{cursor:default;background-color:#fff;border-radius:.4rem;justify-content:center;align-items:center;height:4rem;font-size:1.4rem;display:flex}.empty-day{background-color:#0000}.past-day{color:#ccc;background-color:#fff}.sunday{color:#aaa;background-color:#f8f9fa;position:relative}.sunday:after{content:"";background-color:#eee;width:80%;height:.1rem;position:absolute;transform:rotate(-45deg)}.blocked-day{color:#64748b;cursor:not-allowed;background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border:1px solid #e2e8f0;transition:all .2s;position:relative}.blocked-day:hover{background:linear-gradient(135deg,#f1f5f9 0%,#e2e8f0 100%);border-color:#cbd5e1}.blocked-day:before{content:"🚫";opacity:.8;z-index:2;filter:drop-shadow(0 1px 2px #0000001a);font-size:.9rem;position:absolute;top:.2rem;right:.2rem}.blocked-indicator{z-index:2;position:absolute;top:.2rem;right:.2rem}.blocked-icon{color:#64748b;filter:drop-shadow(0 0 2px #fffc);font-size:.8rem}.blocked-day .blocked-tooltip{color:#fff;white-space:nowrap;z-index:1000;opacity:0;visibility:hidden;background:#1e293b;border-radius:.4rem;margin-bottom:.4rem;padding:.6rem .8rem;font-size:1.1rem;transition:all .2s;position:absolute;bottom:100%;left:50%;transform:translate(-50%)translateY(.5rem);box-shadow:0 4px 12px #00000026}.blocked-day .blocked-tooltip:after{content:"";border:.4rem solid #0000;border-top-color:#1e293b;position:absolute;top:100%;left:50%;transform:translate(-50%)}.blocked-day:hover .blocked-tooltip{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}.available-day{color:#333;cursor:pointer;background-color:#f3f4f6;transition:all .3s}.available-day:hover{background-color:#e5e7eb}.selected-day{color:#fff;background-color:#b2d8db}.calendar-legend{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;flex-wrap:wrap;justify-content:center;gap:1.5rem;margin-top:1.5rem;padding:1rem;display:flex}.legend-item{color:#6b7280;align-items:center;gap:.5rem;font-size:1.2rem;display:flex}.legend-indicator{border-radius:.3rem;flex-shrink:0;width:1.6rem;height:1.6rem;position:relative}.legend-indicator.available{background-color:#f3f4f6;border:1px solid #d1d5db}.legend-indicator.sunday{color:#aaa;background-color:#f8f9fa}.legend-indicator.sunday:after{content:"";transform-origin:50%;background-color:#eee;width:80%;height:.1rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-45deg)}.legend-indicator.past{color:#ccc;background-color:#fff;border:1px solid #e5e7eb}.legend-indicator.blocked{color:#64748b;background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border:1px solid #e2e8f0;position:relative}.legend-indicator.blocked:before{content:"🚫";opacity:.8;font-size:.7rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.legend-loading{color:#9ca3af;align-items:center;font-size:1.1rem;font-style:italic;display:flex}.time-slots-container{background-color:#fff;margin-top:3.2rem}.time-slots-heading{color:#333;margin-bottom:1.6rem;font-size:1.8rem;font-weight:500}.time-slots-grid{grid-template-columns:repeat(auto-fill,minmax(8rem,1fr));gap:1rem;margin-top:1.5rem;display:grid}.time-slot{color:#333;cursor:pointer;background-color:#f3f4f6;border:.1rem solid #0000;border-radius:.4rem;padding:1rem;font-size:1.4rem;font-weight:500;transition:all .2s}.time-slot:hover{background-color:#e5e7eb;border-color:#d1d5db;transform:translateY(-.2rem)}.selected-time{color:#fff;background-color:#b2d8db;border-color:#b2d8db;box-shadow:0 .2rem .5rem #0000001a}.unavailable-time{opacity:.6;position:relative;color:#9ca3af!important;cursor:not-allowed!important;background-color:#f8f9fa!important;border-color:#e5e7eb!important}.unavailable-time:hover{box-shadow:none!important;background-color:#f8f9fa!important;border-color:#e5e7eb!important;transform:none!important}.unavailable-time:disabled{pointer-events:none}.unavailable-icon{opacity:.7;font-size:1rem;position:absolute;top:.2rem;right:.2rem}.time-slots-legend{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;justify-content:center;gap:2rem;margin-top:1.5rem;padding:1rem;display:flex}.time-slots-legend .legend-item{color:#6b7280;align-items:center;gap:.5rem;font-size:1.2rem;display:flex}.time-slots-legend .legend-indicator{border-radius:.4rem;flex-shrink:0;justify-content:center;align-items:center;width:2.4rem;height:2.4rem;display:flex;position:relative}.legend-indicator.time-available{background-color:#f3f4f6;border:1px solid #d1d5db}.legend-indicator.time-unavailable{opacity:.6;background-color:#f8f9fa;border:1px solid #e5e7eb}.mini-icon{opacity:.7;font-size:.8rem}.total-duration{color:#555;background-color:#f3f4f6;border-radius:.3rem;margin-left:.5rem;padding:.4rem .8rem;font-weight:500}.booking-form-container{max-width:100%;overflow-x:hidden}.booking-form{flex-direction:column;gap:2rem;display:flex}.form-group{flex-direction:column;gap:.8rem;display:flex}.form-label{color:#555;font-size:1.4rem;font-weight:500}.form-input,.form-textarea{border:.1rem solid #ddd;border-radius:.4rem;width:100%;padding:1.2rem;font-size:1.6rem;transition:all .3s}.form-input:focus,.form-textarea:focus{border-color:#b2d8db;outline:none;box-shadow:0 0 0 .2rem #b2d8db33}.form-textarea{resize:vertical;min-height:12rem}.input-error{border-color:#f87171}.error-message{color:#ef4444;margin-top:.4rem;font-size:1.2rem}.booking-summary-container{margin-bottom:4rem}.summary-content{background-color:#f8f9fa;border-radius:.8rem;padding:2.4rem}.summary-section{border-bottom:.1rem solid #e5e7eb;margin-bottom:2.4rem;padding-bottom:2.4rem}.summary-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.summary-heading{color:#333;margin-bottom:1.6rem;font-size:1.8rem;font-weight:500}.treatment-item{background-color:#f8f9fa;border-radius:.8rem;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding:1.5rem;transition:all .3s;display:flex}.treatment-item:last-child{border-bottom:none}.treatment-details{color:#666;gap:1.6rem;font-size:1.4rem;display:flex}.treatment-totals{border-top:.1rem solid #e5e7eb;flex-direction:column;gap:.8rem;margin-top:1.6rem;padding-top:1.6rem;display:flex}.total-duration,.total-price{color:#555;justify-content:space-between;font-size:1.4rem;display:flex}.total-price{color:#333;font-size:1.6rem;font-weight:600}.appointment-details,.personal-details{color:#555;font-size:1.6rem;line-height:1.6}.message-heading{color:#333;margin:1.2rem 0 .4rem;font-size:1.4rem;font-weight:500}.policy-section{background-color:#fff;border-left:.4rem solid #b2d8db;border-radius:.4rem;padding:1.6rem}.policy-info{color:#555;font-size:1.4rem;line-height:1.5}.policy-info a{color:#b2d8db;font-weight:500;text-decoration:none}.policy-info a:hover{text-decoration:underline}.booking-error{color:#c62828;text-align:center;background-color:#ffebee;border-radius:.5rem;margin-top:2rem;padding:1.5rem;font-size:1.5rem}.booking-error .mt-2{margin-top:1.5rem}.booking-error .btn-secondary{color:#c62828;background-color:#fff;border:1px solid #c62828;border-radius:.5rem;margin-top:1rem;padding:.8rem 1.5rem;font-size:1.4rem;transition:all .3s}.booking-error .btn-secondary:hover{background-color:#ffebee;transform:translateY(-2px)}.booking-confirmation-container{margin-bottom:4rem}.booking-success{text-align:center;background-color:#f0f9f7;border-left:5px solid #b2d8db;border-radius:1rem;margin-bottom:3rem;padding:2rem}.booking-details{background-color:#fff;border-radius:1rem;margin-bottom:2.5rem;padding:2rem;box-shadow:0 .2rem 1rem #0000000d}.booking-section-title{color:#333;border-bottom:1px solid #eee;margin-bottom:1.5rem;padding-bottom:.8rem;font-size:1.8rem;font-weight:600}.booking-reference{color:#666;word-wrap:break-word;overflow-wrap:break-word;background-color:#f8f9fa;border-left:3px solid #b2d8db;border-radius:.5rem;margin-bottom:2rem;padding:1rem;font-size:1.6rem;font-weight:500}.treatment-list{margin:0 0 2rem;padding:0;list-style:none}.treatment-info{flex:1;min-width:0;margin-right:1rem}.treatment-name{color:#333;word-wrap:break-word;overflow-wrap:break-word;margin-bottom:.5rem;font-size:1.6rem;font-weight:500;display:block}.treatment-duration{color:#666;font-size:1.4rem}.treatment-price-breakdown{background-color:#f0f9f7;border-left:3px solid #b2d8db;border-radius:.5rem;flex-shrink:0;min-width:15rem;margin-top:1rem;padding:1rem}.price-row{color:#616161;justify-content:space-between;margin-bottom:.8rem;font-size:1.5rem;display:flex}.price-row.discount-value{color:#2e7d32;background-color:#e8f5e980;border-radius:.5rem;margin:1rem 0;padding:.6rem 1rem;font-weight:600}.price-row.discount-value span:last-child{color:#2e7d32}.price-row.total{border-top:1px dashed #ddd;margin-top:.5rem;padding-top:.5rem;font-size:1.5rem;font-weight:600}.booking-summary-totals{background-color:#f0f9f7;border-left:4px solid #b2d8db;border-radius:.8rem;margin-top:2rem;padding:1.5rem}.summary-row{color:#555;justify-content:space-between;margin-bottom:1rem;font-size:1.5rem;display:flex}.final-price-breakdown{border-top:1px solid #ddd;margin-top:1.5rem;padding-top:1.5rem}.total-price{color:#333;border-top:1px dashed #ddd;justify-content:space-between;margin-top:.8rem;padding-top:.8rem;font-size:1.7rem;font-weight:700;display:flex}.detail-group{grid-template-columns:repeat(auto-fill,minmax(20rem,1fr));gap:1.5rem;display:grid}.detail-item{background-color:#f8f9fa;border-left:3px solid #b2d8db;border-radius:.5rem;padding:1.2rem}.detail-label{color:#666;margin-bottom:.5rem;font-size:1.4rem}.booking-notes{background-color:#fff;border-left:4px solid #f0c040;border-radius:1rem;margin-bottom:2.5rem;padding:2rem;box-shadow:0 .2rem 1rem #0000000d}.note-list{margin:0;padding:0;list-style:none}.note-list li{color:#555;word-wrap:break-word;overflow-wrap:break-word;margin-bottom:1.2rem;padding-left:2.5rem;font-size:1.5rem;position:relative}.note-list li:before{content:"•";color:#f0c040;font-size:2rem;position:absolute;left:.8rem}.note-list a{color:#b2d8db;font-weight:500;text-decoration:none;transition:all .3s}.note-list a:hover{color:#7d9799;text-decoration:underline}.form-actions{justify-content:space-between;margin-top:3rem;display:flex}.btn{text-align:center;cursor:pointer;border:none;border-radius:.5rem;padding:1.2rem 2.4rem;font-size:1.6rem;font-weight:500;text-decoration:none;transition:all .3s;display:inline-block}.btn-primary{color:#333;background-color:#0dc4bb}.btn-primary:hover{color:#fff;background-color:#0cb0a8}.btn-secondary{color:#333;background-color:#f8f9fa;border:1px solid #ddd}.btn-secondary:hover{background-color:#e9ecef}@media screen and (max-width:768px){.treatment-item{flex-direction:column}.treatment-price-breakdown{width:100%;margin-top:1.5rem;margin-left:0}.detail-group{grid-template-columns:1fr}.form-actions{flex-direction:column;gap:1rem}.btn{width:100%}.treatment-info{width:100%;margin-bottom:1rem;margin-right:0}.treatments-grid{grid-template-columns:repeat(auto-fill,minmax(22rem,1fr))}.treatment-image{height:24rem}.time-slots-grid{grid-template-columns:repeat(4,1fr)}.booking-container{padding:2rem}.heading-secondary{font-size:2.8rem}.heading-tertiary{font-size:2rem}}@media screen and (max-width:576px){.treatments-grid{grid-template-columns:1fr}.treatment-card:nth-child(4n+1),.treatment-card:nth-child(4n+4){background-color:#fff}.treatment-card:nth-child(odd){background-color:#cff3f1}.treatment-image{height:26rem}.booking-progress{padding:1rem 0}.treatment-totals,.total-duration,.total-price{flex-direction:column;align-items:flex-start;gap:.4rem}.form-actions{flex-direction:column;gap:1.2rem}.btn{width:100%}}@media (max-width:400px){.treatment-image{height:28rem}.time-slots-grid{grid-template-columns:repeat(2,1fr)}}.treatment-terms-container{max-width:100%;margin:0 auto;padding:2rem 0}.terms-content{color:#333;background-color:#fff;border:1px solid #e0e0e0;border-radius:1rem;max-height:60vh;margin:2rem 0;padding:2rem;font-size:1.6rem;overflow-y:auto;box-shadow:0 .2rem 1rem #0000000d}.terms-content h4{color:#333;margin-bottom:1.5rem;font-size:2rem;font-weight:600}.terms-content p{color:#555;margin-bottom:1rem;line-height:1.6}.terms-content ul{margin-bottom:1.5rem;padding-left:1.5rem}.terms-content li{color:#555;margin-bottom:.8rem;line-height:1.6}.terms-content strong{color:#333;font-weight:600}.terms-divider{border:none;border-top:.1rem solid #e5e7eb;margin:3rem 0;position:relative}.terms-divider:before{content:"";background-color:#b2d8db;width:5rem;height:.1rem;position:absolute;top:-.5rem;left:50%;transform:translate(-50%)}.terms-form{margin-top:3rem}.checkbox-group{align-items:flex-start;margin-bottom:1.5rem;display:flex}.form-checkbox{accent-color:#b2d8db;width:1.6rem;height:1.6rem;margin-top:.3rem;margin-right:1rem}.checkbox-label{color:#555;font-size:1.6rem;line-height:1.6}.terms-hint{color:#e53e3e;margin-bottom:1.5rem;font-size:1.4rem}@media (max-width:768px){.terms-content{max-height:50vh;padding:1.5rem;font-size:1.4rem}.terms-content h4{font-size:1.8rem}.checkbox-label{font-size:1.4rem}}.loading-message{color:#777;text-align:center;margin-bottom:2rem;font-size:1.4rem}.unavailable-message{color:#856404;background-color:#fff3cd;border-left:.4rem solid #ffeeba;border-radius:.4rem;margin-bottom:2rem;padding:1.2rem;font-size:1.4rem}.no-slots-message{color:#777;text-align:center;margin:2rem 0;font-size:1.4rem;font-style:italic}.booking-summary-grid{grid-template-columns:1fr 1fr;gap:3rem;display:grid}.booking-summary-column{flex-direction:column;gap:2rem;display:flex}.booking-section-title{color:#333;margin-bottom:1.5rem;font-size:1.8rem;font-weight:600}.treatment-list{flex-direction:column;gap:1rem;display:flex}.treatment-item{border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;padding-bottom:1rem;display:flex}.treatment-info{flex-direction:column;display:flex}.treatment-name{color:#333;font-size:1.6rem;font-weight:600}.treatment-duration{color:#666;margin-top:.5rem;font-size:1.4rem}.treatment-price{color:#333;font-size:1.6rem;font-weight:600}.booking-summary-totals{flex-direction:column;gap:1rem;margin-top:2rem;display:flex}.summary-row{color:#555;justify-content:space-between;font-size:1.5rem;display:flex}.discount-item{background-color:#e8f5e9;border:1px solid #c8e6c9;border-radius:.8rem;margin:1.5rem 0;padding:1.5rem;transition:all .3s;box-shadow:0 2px 4px #0000000d}.discount-row{color:#2e7d32;justify-content:space-between;align-items:center;font-size:1.6rem;font-weight:600;display:flex}.discount-row span:last-child{color:#fff;background-color:#2e7d32;border-radius:.5rem;padding:.3rem .8rem;font-size:1.8rem}.discount-note{color:#2e7d32;margin-top:1rem;font-size:1.4rem;line-height:1.5}.discount-note strong{color:#1b5e20;font-weight:700}.discount-notice{background-color:#f1f8e9;border:1px solid #dcedc8;border-radius:.8rem;margin:1.5rem 0;padding:1.5rem;box-shadow:0 2px 4px #0000000d}.discount-notice p{color:#558b2f;font-size:1.4rem;line-height:1.5}.discount-notice .bold{color:#33691e;font-weight:700}.detail-group{flex-direction:column;gap:1.5rem;display:flex}.detail-item{flex-direction:column;gap:.5rem;display:flex}.detail-label{color:#666;font-size:1.4rem}.detail-value{color:#333;word-wrap:break-word;overflow-wrap:break-word;font-size:1.6rem;font-weight:500}.login-tip{background-color:#fff8e1;border:1px solid #ffe082;border-radius:.5rem;margin-top:2rem;padding:1.5rem}.login-tip p{color:#ff8f00;font-size:1.4rem}.login-tip .bold{font-weight:700}.tip-list{color:#ff8f00;margin-top:1rem;padding-left:2rem;font-size:1.3rem;list-style-type:disc}.tip-list li{margin-bottom:.5rem}.booking-success{text-align:center;margin-bottom:3rem}.success-icon{color:#fff;background-color:#b2d8db;border-radius:50%;justify-content:center;align-items:center;width:6rem;height:6rem;margin:0 auto 2rem;font-size:3rem;display:flex;box-shadow:0 .4rem .8rem #0000001a}.booking-reference{color:#333;background-color:#f5f5f5;border-radius:.5rem;margin-bottom:2rem;padding:1rem 1.5rem;font-size:1.6rem;font-weight:600;display:inline-block}.booking-details{margin-bottom:3rem}.booking-info-section{margin-bottom:2.5rem}.booking-notes{background-color:#f9f9f9;border-left:4px solid #b2d8db;border-radius:.5rem;margin-bottom:3rem;padding:2rem}@media screen and (max-width:768px){.booking-summary-grid{grid-template-columns:1fr;gap:2rem}.booking-section-title{margin-top:1rem}}.note-list{margin-top:1rem;padding-left:2rem;list-style-type:disc}.note-list li{color:#555;margin-bottom:1rem;font-size:1.5rem;line-height:1.5}.note-list a{color:#b2d8db;font-weight:500;text-decoration:none}.note-list a:hover{text-decoration:underline}.treatment-price-breakdown{background-color:#f9f9f9;border-left:3px solid #b2d8db;border-radius:.25rem;flex-direction:column;margin-top:.5rem;padding:.5rem;font-size:.85rem;display:flex}.price-row{justify-content:space-between;margin-bottom:.25rem;padding:.25rem 0;display:flex}.price-row:last-child{margin-bottom:0}.price-row.total,.price-row.subtotal{border-top:1px solid #e0e0e0;margin-top:.25rem;padding-top:.5rem;font-weight:600}.price-breakdown-section{background-color:#f9f9f9;border-left:3px solid #b2d8db;border-radius:.5rem;margin:1rem 0;padding:1rem}.price-breakdown-title{color:#333;margin-bottom:.75rem;font-size:.95rem;font-weight:600}.price-breakdown{background-color:#f5f5f5;border-left:3px solid #b2d8db;border-radius:.25rem;margin-top:.5rem;padding:.75rem;font-size:.85rem}.treatment-price-container{align-items:center;gap:.5rem;display:flex}.price-details-button{color:#b2d8db;cursor:pointer;background:0 0;border:none;padding:0;font-size:.75rem;line-height:1}.price-details-button:hover{color:#7d9799}.final-price-breakdown{background-color:#f5f5f5;border-left:3px solid #b2d8db;border-radius:.5rem;margin-top:1rem;padding:1rem}.total-price{border-top:1px solid #e0e0e0;justify-content:space-between;margin-top:.5rem;padding-top:.5rem;font-size:1.1rem;font-weight:700;display:flex}.price-breakdown-summary{background-color:#f9f9f9;border-left:3px solid #b2d8db;border-radius:.5rem;margin-top:1rem;padding:1rem}.discount-item.loyalty-discount{background-color:#e8f5e9;border:2px solid #4caf50;animation:2s infinite pulse;box-shadow:0 4px 8px #0000001a}.loyalty-discount .discount-row span:last-child{color:#fff;background-color:#4caf50;border-radius:.5rem;padding:.3rem .8rem;font-size:1.8rem;font-weight:700}.booking-history-summary{background-color:#b2d8db1a;border:1px dashed #b2d8db;border-radius:.5rem;margin-top:1rem;padding:.8rem 1rem}.booking-count{color:#555;text-align:center;font-size:1.4rem}.booking-milestone{color:#2e7d32;margin-left:.5rem;font-weight:600}.loyalty-discount{position:relative;overflow:hidden}.loyalty-discount:before{content:"";opacity:.08;z-index:0;background:#2e7d32;width:80px;height:80px;position:absolute;top:-15px;right:-15px;transform:rotate(45deg)}.discount-row{z-index:1;position:relative}.price-row.discount{color:#2e7d32;background-color:#e8f5e980;border-radius:.5rem;margin:1rem 0;padding:.6rem 1rem;font-weight:600}@keyframes loyaltyPulse{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.loyalty-discount{background:linear-gradient(-45deg,#2e7d320d,#e8f5e980,#2e7d3214) 0 0/400% 400%;animation:8s infinite loyaltyPulse}.total-price{color:#333;border-top:1px solid #ddd;margin-top:1.5rem;padding-top:1.5rem;font-weight:700;font-size:1.8rem!important}.booking-summary-content{background-color:#fff;border-radius:1rem;margin-bottom:3rem;padding:2rem;box-shadow:0 .2rem 1rem #0000000d}.booking-summary-section{margin-bottom:2rem}.summary-heading{color:#333;border-bottom:1px solid #eee;margin-bottom:1.5rem;padding-bottom:.8rem;font-size:1.8rem;font-weight:600}@media screen and (max-width:768px){.booking-history-summary{padding:.6rem}.booking-count{font-size:1.3rem}.booking-milestone{margin-top:.5rem;margin-left:0;display:block}}.loyalty-status-info{background-color:#f8f9fa;border:1px solid #e0e0e0;border-radius:.8rem;margin-top:1.5rem;padding:1.5rem;box-shadow:0 2px 4px #0000000d}.booking-progress-icon{vertical-align:middle;margin-right:.5rem;font-size:1.5rem;display:inline-block}.loyalty-progress-bar{background-color:#f0f0f0;border-radius:1rem;height:.8rem;margin:1.2rem 0;position:relative;overflow:hidden}.loyalty-progress{background:linear-gradient(90deg,#b2d8db 0%,#7d9799 100%);border-radius:1rem;height:100%;transition:width .5s}.loyalty-progress-text{color:#555;text-align:center;margin-top:.8rem;font-size:1.4rem}.price-comparison{align-items:center;gap:1rem;margin:1rem 0;display:flex}.original-price{color:#999;font-size:1.4rem;text-decoration:line-through}.final-price{color:#2e7d32;font-size:1.8rem;font-weight:700}.savings-text{color:#2e7d32;margin-top:.5rem;font-size:1.3rem}.discount-item{background-color:#f5f5f5;border-left:4px solid #b2d8db;border-radius:.8rem;margin:2rem 0;padding:1.5rem;transition:all .3s;position:relative}.discount-item:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.discount-amount{color:#fff;background-color:#2e7d32;border-radius:2rem;padding:.5rem 1rem;font-size:1.4rem;font-weight:700;position:absolute;top:-10px;right:-10px;box-shadow:0 2px 4px #0003}@media screen and (max-width:768px){.loyalty-status-info{padding:1.2rem}.loyalty-progress-bar{margin:1rem 0}.discount-amount{padding:.4rem .8rem;font-size:1.2rem}}.loyalty-status-container{background-color:#f8f8f8;border-radius:8px;margin:20px 0;padding:20px;box-shadow:0 2px 8px #0000000d}.loyalty-heading{color:#333;margin-bottom:15px;font-size:1.2rem}.loyalty-progress-container{margin:20px 0}.loyalty-progress-bar-container{background-color:#e0e0e0;border-radius:5px;height:10px;margin-bottom:10px;position:relative}.loyalty-progress-bar{background:linear-gradient(90deg,#4a90e2,#8457c7);border-radius:5px;height:100%;transition:width .5s ease-in-out}.loyalty-progress-steps{justify-content:space-between;margin-top:5px;display:flex}.loyalty-step{color:#333;background-color:#e0e0e0;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:flex}.loyalty-step.completed{color:#fff;background-color:#4a90e2}.loyalty-message{margin:15px 0;font-size:1rem;line-height:1.4}.loyalty-eligible{color:#2ecc71;align-items:center;font-weight:700;display:flex}.loyalty-badge{color:#fff;background-color:#2ecc71;border-radius:4px;margin-right:10px;padding:4px 8px;font-weight:700;display:inline-block}.loyalty-details{color:#666;border-top:1px solid #e0e0e0;margin-top:10px;padding-top:10px;font-size:.9rem}.loyalty-status-container.loading,.loyalty-status-container.error{text-align:center;color:#666;padding:30px}.loyalty-status-container.error{color:#e74c3c}@media (max-width:768px){.loyalty-status-container{padding:15px}.loyalty-heading{font-size:1.1rem}}.login-required-container{background-color:#f8f9fa;justify-content:center;align-items:center;min-height:60vh;padding:2rem;display:flex}.login-required-content{text-align:center;background-color:#fff;border-radius:1rem;width:100%;max-width:500px;padding:3rem;box-shadow:0 4px 6px #0000001a}.login-required-icon{margin-bottom:2rem}.login-required-title{color:#2d3748;margin-bottom:1rem;font-size:2rem;font-weight:700}.login-required-text{color:#4a5568;margin-bottom:2rem;font-size:1.1rem;line-height:1.6}.login-required-buttons{justify-content:center;gap:1rem;display:flex}.btn--primary{color:#2d3748;background-color:#0dc4bb;border-radius:.5rem;padding:.75rem 2rem;font-weight:600;transition:background-color .2s;display:inline-block}.btn--primary:hover{background-color:#0cb0a8}.btn--secondary{color:#2d3748;background-color:#fff;border:2px solid #b2d8db;border-radius:.5rem;padding:.75rem 2rem;font-weight:600;transition:all .2s;display:inline-block}.btn--secondary:hover{background-color:#f8f9fa;border-color:#9ecacd}
