@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fredoka:wght@500;600;700&family=Playfair+Display:wght@500;600&display=swap');
.ms-sch-bridge{grid-column:1/-1;min-width:0}
.ms-sch-schedule{background:linear-gradient(120deg,#fff5fa,#f3edff);border:2px solid #e8cbe8;border-radius:19px;padding:20px 21px;color:#4c3558;box-shadow:0 8px 25px #70517b14;font-family:'DM Sans',Arial,sans-serif}
.ms-sch-schedule h4{margin:0 0 5px!important;font:600 23px/1.2 'Fredoka','DM Sans',sans-serif!important;color:#593864!important}
.ms-sch-schedule>p{margin:0 0 13px!important;font:400 12.5px/1.55 'DM Sans',sans-serif!important;color:#715b79}
.ms-sch-times-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ms-sch-times-grid label{font:700 13px/1.5 'DM Sans',Arial,sans-serif;color:#624772;min-width:0}
.ms-sch-times-grid select,.ms-sch-fields input,.ms-sch-fields select,.ms-sch-standalone textarea{display:block;width:100%;max-width:100%;padding:12px!important;margin-top:7px;border:2px solid #e5d2e7!important;border-radius:12px;background:#fff;color:#43334c!important;min-height:47px;font:500 14px 'DM Sans',Arial,sans-serif}
.ms-sch-times-grid select:focus,.ms-sch-fields input:focus,.ms-sch-fields select:focus{outline:3px solid #ecddf1;outline-offset:1px;border-color:#a470b1!important}
.ms-sch-schedule .ms-sch-pick-status{font-size:12px!important;margin:13px 0 0!important;color:#6b5276;line-height:1.6!important}
.ms-sch-schedule .ms-sch-pick-status.error{color:#b13e58}
.ms-sch-schedule .ms-sch-arrival-note{font-size:11px!important;color:#8a7189!important;margin:10px 0 0!important}
.ms-sch-consent{display:flex;align-items:flex-start;gap:10px;font:400 12px/1.6 'DM Sans',sans-serif;color:#6b5c6e;margin:16px 0}
.ms-sch-consent input{flex:none;accent-color:#9660a0;width:18px;height:18px;margin:0!important}
.ms-sch-consent a{color:#795089!important;text-decoration:underline!important;text-underline-offset:3px}
.ms-sch-standalone,.ms-sch-standalone *{box-sizing:border-box}
.ms-sch-standalone{font-family:'DM Sans',Arial,sans-serif;max-width:960px;margin:35px auto;padding:clamp(22px,4vw,45px);border:1px solid #f0dff0;border-radius:25px;background:linear-gradient(145deg,#fff,#fff8fd);box-shadow:0 15px 40px #68446e13;color:#49334f}
.ms-sch-standalone .ms-sch-heading{text-align:center;max-width:680px;margin:0 auto 28px}
.ms-sch-standalone .ms-sch-heading span{font:700 11px 'Fredoka',sans-serif;letter-spacing:1px;color:#995d9b;text-transform:uppercase}
.ms-sch-standalone h2{font:600 clamp(31px,4vw,44px)/1.2 'Playfair Display',Georgia,serif;color:#4a3253;margin:9px 0 12px}
.ms-sch-standalone p{font-size:13px;color:#796a7e;line-height:1.7}
.ms-sch-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:19px 0}
.ms-sch-fields label,.ms-sch-note{font:700 12px/1.5 'DM Sans',Arial,sans-serif;color:#5c4266;display:block}
.ms-sch-extras{border:1px solid #ecd9ec;border-radius:14px;padding:15px 20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0}
.ms-sch-extras legend{font:700 13px 'Fredoka',sans-serif;color:#765184;padding:0 8px}
.ms-sch-extras label{font-size:12px;color:#68576f}
.ms-sch-extras input{accent-color:#8f5f9d}
.ms-sch-standalone textarea{min-height:100px;resize:vertical}
.ms-sch-honey{position:absolute!important;left:-9999px!important;opacity:0!important;pointer-events:none!important}
.ms-sch-button{padding:15px 27px;border:0;border-radius:999px;background:linear-gradient(110deg,#8a5697,#ce73a7);color:white;cursor:pointer;font:700 15px 'Fredoka',sans-serif;box-shadow:0 8px 20px #82538c33;min-height:49px}
.ms-sch-button:hover{filter:brightness(.96)}.ms-sch-button:disabled{cursor:not-allowed;opacity:.55}
.ms-sch-standalone [data-ms-sch-result].error{color:#a12c4a}.ms-sch-standalone [data-ms-sch-result].success{color:#356b4f;font-weight:700}
.ms-sch-standalone .ms-sch-error{background:#fff2ea;border:1px solid #e8c9be;border-radius:12px;padding:13px 16px;color:#954d44}
@media(max-width:600px){.ms-sch-times-grid,.ms-sch-fields,.ms-sch-extras{grid-template-columns:1fr}.ms-sch-schedule{padding:18px 14px}.ms-sch-standalone{margin:15px;padding:20px 16px}}
@media(prefers-reduced-motion:reduce){.ms-sch-button{transition:none}}
/* Availability calendar, deliberately compact so it fits inside the existing homepage builder. */
.ms-sch-calendar{background:#fff;border:1px solid #f0d9ea;border-radius:19px;padding:17px 20px;margin-bottom:16px;box-shadow:0 6px 19px #5337590b;color:#4b3754;font-family:'DM Sans',Arial,sans-serif}
.ms-sch-calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:8px}
.ms-sch-calendar-head strong{font:700 19px 'Fredoka','DM Sans',sans-serif;color:#64426f}
.ms-sch-calendar-head button{border:1px solid #e9d7e9;background:#fcf6fc;border-radius:11px;width:39px;height:39px;color:#795987;cursor:pointer;font-size:26px;line-height:1}
.ms-sch-calendar-head button:disabled{opacity:.3;cursor:not-allowed}
.ms-sch-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.ms-sch-calendar-days{margin-bottom:5px}
.ms-sch-calendar-days span{display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#a18ca4;min-height:24px}
.ms-sch-calendar-date{appearance:none;border:1px solid #f3edf3;background:#f8f5f8;border-radius:10px;min-height:42px;font-size:13px;font-weight:700;color:#a4a0a5;cursor:not-allowed;padding:0}
.ms-sch-calendar-date.available{background:#f7eafa;border-color:#e5cde9;color:#6d4582;cursor:pointer}
.ms-sch-calendar-date.available:hover{background:#efd8f2;transform:translateY(-1px)}
.ms-sch-calendar-date.selected{background:#79518b!important;border:2px solid #623574!important;color:#fff!important}
.ms-sch-calendar-help{font-size:11px!important;line-height:1.55!important;margin:13px 0 0!important;color:#816a85!important}
@media(max-width:520px){.ms-sch-calendar{padding:15px 10px}.ms-sch-calendar-grid{gap:3px}.ms-sch-calendar-date{min-height:39px;border-radius:7px}.ms-sch-calendar-head strong{font-size:17px}}
