/* Layout for the PIMinto demo scheduler. Colors, buttons and form fields come
   from the site's /css/app.min.css (btn-primary, btn-secondary, form-control). */
.pm-card{background:#fff;border:1px solid #E1E8D8;border-radius:16px;box-shadow:0 12px 32px rgba(43,47,38,.08);display:flex;flex-wrap:wrap;color:#332D2B}
.pm-pad{padding:32px}
.pm-col{box-sizing:border-box;padding:32px;min-width:0}
.pm-col-cal{flex:1 1 480px;border-right:1px solid #EDF1E7}
.pm-col-side{flex:1 1 380px;min-height:520px;display:flex;flex-direction:column;gap:16px}
.pm-col h3{margin:0;font-size:24px;line-height:1.2;font-weight:500;color:#483A36}
.pm-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:20px}
.pm-head-stack{display:flex;flex-direction:column;gap:4px}
.pm-muted{color:#6B5F5B;font-size:15px}
.pm-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.pm-cal-dow{text-align:center;font-size:13px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:#6B5F5B}
.pm-day{font:inherit;min-height:64px;padding:6px 2px;border-radius:12px;border:1px solid #C9D9B5;background:#F3F7EF;color:#537727;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.pm-day:hover:not(:disabled){background:#E6EFDB}
.pm-day.is-selected{background:#537727;border-color:#537727;color:#fff}
.pm-day.is-off{background:#fff;border-color:#EFEBEA;color:#A8A09D;cursor:default}
.pm-day-mon,.pm-day-sub{font-size:11px;line-height:1;min-height:11px}
.pm-day-mon{font-weight:500;text-transform:uppercase;letter-spacing:.04em}
.pm-day-num{font-size:18px;line-height:1.1;font-weight:500}
.pm-day.is-selected .pm-day-num{font-weight:700}
.pm-slot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pm-slot.btn{font-size:16px;min-height:48px;padding:10px 12px}
.pm-next,.pm-col-side .btn-primary[type=submit]{align-self:flex-start;padding-left:32px;padding-right:32px}
.pm-back{background:none;border:0;padding:0;min-height:32px;color:#537727;font:inherit;font-size:15px;font-weight:500;cursor:pointer;align-self:flex-start}
.pm-summary{margin:0;font-size:15px;color:#483A36;background:#F3F7EF;border-radius:8px;padding:8px 12px}
.pm-notice{background:#FFF4E5;border:1px solid #F0C78A;color:#5C3B00;border-radius:8px;padding:10px 12px;font-size:15px}
.pm-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:0 14px}
.pm-col-side form{display:flex;flex-direction:column;gap:4px}
.pm-col-side .form-group{margin-bottom:12px}
.pm-col-side label{display:block;margin-bottom:4px;font-size:16px}
.pm-col-side .form-control{display:block;width:100%;box-sizing:border-box;height:44px;font:inherit;font-size:16px}
.pm-col-side .invalid-feedback{font-size:13px;color:#B3261E;margin-top:4px}
.pm-col-side .form-control.is-invalid{border-color:#B3261E}
.pm-col-side textarea.form-control{height:auto;resize:vertical}
.pm-col-side .invalid-feedback{display:block}
.pm-col-side .invalid-feedback[hidden],.pm-notice[hidden]{display:none}
.pm-captcha-box{min-height:65px}
.pm-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.pm-empty{justify-content:center}
.pm-done p{margin:0}
@media (max-width:600px){.pm-col{padding:20px}.pm-col-cal{border-right:0;border-bottom:1px solid #EDF1E7}.pm-cal-grid{gap:4px}.pm-day{min-height:56px}}
