.ads-booking-app{font-family:Arial,sans-serif;color:#4b276d;max-width:1200px;margin:0 auto}.ads-step{display:none}.ads-step.is-active{display:block}.ads-class-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.ads-class-card{border:1px solid #ddd6d0;background:#fffaf4;padding:40px;position:relative;min-height:400px;box-sizing:border-box}.ads-badge{position:absolute;top:-1px;right:0;background:#a51d2d;color:#fff;border-radius:0 0 16px 16px;padding:8px 18px;font-size:11px;letter-spacing:2px;font-weight:700}.ads-card-image img{width:calc(100% + 80px);height:180px;object-fit:cover;margin:-40px -40px 25px}.ads-card-type{font-size:12px;text-transform:uppercase;letter-spacing:2px;margin-bottom:8px}.ads-card-icon{color:#d79314;font-size:25px;margin-bottom:16px}.ads-class-card h3{font-family:Georgia,serif;font-size:30px;font-weight:400;color:#160f0b;margin:0 0 10px}.ads-card-meta{font-size:12px;letter-spacing:3px;color:#8a2b28;margin-bottom:25px}.ads-class-card p{font-size:16px;line-height:1.7;min-height:95px;color:#654e46}.ads-card-bottom{border-top:1px solid #ddd6d0;padding-top:24px;display:flex;align-items:center;justify-content:space-between}.ads-price{font-family:Georgia,serif;color:#a4151c;font-size:28px}.ads-price small{font-family:Arial,sans-serif;font-size:12px;color:#654e46}.ads-book-btn{border:0;background:transparent;color:#a4151c;padding:0;cursor:pointer;font-size:15px}.ads-booking-layout,.ads-form-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(320px,1fr);gap:50px}.ads-calendar-panel{padding:25px}.ads-service-summary,.ads-order-summary{border-left:1px solid #ddd;padding:25px}.ads-back{background:none;border:0;color:#6f27cf;cursor:pointer;margin-bottom:20px;padding:0;font-size:15px}.ads-top-line{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid #ddd;padding-bottom:12px}.ads-top-line h2{font-family:Georgia,serif;font-weight:400;margin:0}.ads-top-line span{font-size:13px;color:#777}.ads-selected-class{margin:20px 0;color:#160f0b}.ads-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;margin:25px 0 15px}.ads-calendar-toolbar button{background:none;border:0;font-size:30px;color:#6f27cf;cursor:pointer}.ads-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.ads-calendar-head{text-align:center;padding:9px;color:#6f27cf;font-size:13px}.ads-calendar-empty{min-height:42px}.ads-calendar-day{position:relative;background:transparent;border:0;min-height:44px;color:#8e6bc1;cursor:not-allowed}.ads-calendar-day.has-slots{color:#6f27cf;cursor:pointer}.ads-calendar-day.has-slots:hover{background:#f0e7fa}.ads-calendar-day.selected{background:#7d3fd0;color:#fff}.ads-calendar-day i{display:block;width:4px;height:4px;border-radius:50%;background:#7d3fd0;margin:2px auto 0}.ads-calendar-day.selected i{background:#fff}.ads-times{margin-top:30px}.ads-time-btn{border:0;background:#7d3fd0;color:#fff;padding:12px 35px;margin:0 8px 8px 0;cursor:pointer}.ads-time-btn.selected{outline:3px solid #d4b8f0;outline-offset:2px}.ads-service-summary h3{border-bottom:1px solid #ddd;padding-bottom:15px;margin-top:30px;font-family:Georgia,serif;font-weight:400}.ads-summary-label{display:flex;justify-content:space-between;margin-bottom:7px}.ads-summary-label a{color:#5c1fb0}.ads-pref-toggle{width:100%;background:#fff;border:1px solid #7d3fd0;color:#5c1fb0;padding:13px;text-align:left;display:flex;justify-content:space-between;cursor:pointer}.ads-pref-menu{border:1px solid #7d3fd0;border-top:0;background:#fff;box-shadow:0 5px 14px rgba(0,0,0,.08);max-height:300px;overflow:auto}.ads-pref-group-title{padding:14px 18px;border-bottom:1px solid #eee;font-weight:600;display:flex;justify-content:space-between}.ads-pref-option{display:block;width:100%;text-align:left;border:0;background:#fff;padding:12px 24px;color:#5c1fb0;cursor:pointer}.ads-pref-option:hover,.ads-pref-option.selected{background:#f4effa}.ads-pref-option span{display:flex;flex-direction:column;gap:4px}.ads-pref-option small{font-size:15px;color:#a070db}.ads-next{border:0;background:#7d3fd0;color:#fff;padding:14px 26px;cursor:pointer;font-size:15px}.ads-next:disabled{opacity:.45;cursor:not-allowed}.ads-next.is-ready{box-shadow:0 0 0 2px rgba(125,63,208,.12)}.ads-next-details{width:100%;margin-top:25px}.ads-detail-row,.ads-total-row{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid #eee}.ads-detail-row span{color:#777}.ads-total-row{margin-top:8px;border-top:1px solid #ddd;border-bottom:0;font-size:20px;padding-top:18px}.ads-form-layout{padding:25px}.ads-form-layout h2{font-family:Georgia,serif;font-weight:400}.ads-login-note{background:#f2eef7;padding:14px;margin-bottom:24px}.ads-login-note a{color:#5c1fb0;text-decoration:underline}.ads-two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px}.ads-form-layout label{display:block;margin:0 0 7px}.ads-form-layout input,.ads-form-layout textarea{width:100%;box-sizing:border-box;padding:13px;border:1px solid #7d3fd0;margin:0 0 20px}.ads-form-layout textarea{resize:vertical}.ads-form-layout form .ads-next{width:100%;margin-top:5px}.ads-order-summary{line-height:1.8}.ads-order-summary h3{font-family:Georgia,serif;font-weight:400;border-bottom:1px solid #ddd;padding-bottom:15px}.ads-summary-block{display:flex;flex-direction:column;gap:6px}.ads-summary-total{display:flex;justify-content:space-between;border-top:1px solid #ddd;margin-top:25px;padding-top:20px;font-size:22px}.ads-form-message{margin-top:15px;color:#b00020}.ads-final-message{text-align:center;padding:100px 20px}.ads-muted{color:#777}.ads-notice{padding:20px;background:#fff4e5;border:1px solid #e5c07b}@media(max-width:900px){.ads-class-grid{grid-template-columns:1fr 1fr}.ads-booking-layout,.ads-form-layout{grid-template-columns:1fr}.ads-service-summary,.ads-order-summary{border-left:0;border-top:1px solid #ddd}.ads-two-col{grid-template-columns:1fr}}@media(max-width:600px){.ads-class-grid{grid-template-columns:1fr}.ads-class-card{padding:25px}.ads-card-image img{margin:-25px -25px 20px;width:calc(100% + 50px)}.ads-calendar-panel,.ads-form-layout{padding:15px}.ads-top-line{display:block}.ads-top-line span{display:block;margin-top:8px}.ads-service-summary,.ads-order-summary{padding:20px}}
.ads-pref-option strong{font-weight:400}.ads-pref-option small{display:block}.ads-pref-selected-price{display:block;font-size:14px;color:#a070db;margin-top:2px}.ads-pref-empty{padding:16px 20px;color:#777;font-size:14px}
