.call-form {max-width:640px;margin:32px auto 0;text-align:left;display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.call-form *{box-sizing:border-box}.call-form label{display:block;font-size:14px;font-weight:700;margin-bottom:8px}.call-form input,.call-form select,.call-form textarea{width:100%;min-height:46px;padding:12px;border:1px solid var(--lineStrong,#acbdb1);border-radius:7px;background:var(--card,#fff);color:var(--text,#14231c);font:15px Manrope,system-ui,sans-serif}.call-form textarea{resize:vertical}.call-form .full{grid-column:1/-1}.call-form p{font-size:13px;line-height:1.7;color:var(--body,#3e5248);margin:0}.call-form button{padding:14px 24px;border:0;border-radius:8px;background:var(--accent,#17845c);color:#fff;font:700 16px Manrope,system-ui,sans-serif;cursor:pointer}.call-form button:disabled{opacity:.6;cursor:wait}.call-form .trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.call-form [role=status]{font-weight:600;min-height:24px}.call-form input:focus-visible,.call-form select:focus-visible,.call-form textarea:focus-visible{outline:3px solid var(--accent,#17845c);outline-offset:3px}@media(max-width:600px){.call-form{grid-template-columns:1fr}}

.call-calendar{max-width:360px;width:100%;border-radius:12px;transition:box-shadow .2s ease}.call-date-label{display:block;font-size:14px;font-weight:700;margin-bottom:8px}.call-calendar-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.call-form .call-calendar button{padding:0;min-height:40px;border-radius:6px;font-size:15px}.call-calendar-nav button{width:40px}.call-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-bottom:12px}.call-calendar-grid>span{text-align:center;font-size:12px;color:var(--body);padding-bottom:8px}.call-form .call-day{background:var(--card,#fff);color:var(--text,#14231c);border:1px solid var(--lineStrong,#acbdb1)}.call-form .call-day[aria-pressed="true"]{background:var(--accent,#17845c);color:#fff;border-color:var(--accent,#17845c)}.call-form .call-calendar button:disabled{opacity:.35;cursor:not-allowed}.call-form .call-day:disabled{text-decoration:line-through;background:var(--stripe,#edf3ee)}.call-calendar button:focus-visible{outline:3px solid var(--accent,#17845c);outline-offset:2px}

/* Inline field validation */
.call-form input[aria-invalid="true"],.call-form select[aria-invalid="true"]{border-color:#d93025;background:#fff8f7}
.call-form input[aria-invalid="true"]:focus-visible,.call-form select[aria-invalid="true"]:focus-visible{outline-color:#d93025}
.call-form .call-field-error{margin:6px 0 0;font-size:13px;line-height:1.4;font-weight:600;color:#b3261e}
.call-calendar.is-invalid{box-shadow:0 0 0 2px #d93025;animation:call-shake .35s ease}
@keyframes call-shake{10%,90%{transform:translateX(-1px)}20%,80%{transform:translateX(2px)}30%,50%,70%{transform:translateX(-4px)}40%,60%{transform:translateX(4px)}}

/* Submission status banner */
.call-form .call-status{transition:background-color .2s ease,color .2s ease,padding .2s ease,border-color .2s ease}
.call-form .call-status.is-pending{color:var(--subtle,#5c6e64)}
.call-form .call-status.is-success,.call-form .call-status.is-error{display:flex;align-items:center;gap:10px;border-radius:10px;padding:14px 16px;font-weight:700}
.call-form .call-status.is-success{background:#eaf7ef;color:#0f6b3d;border:1px solid #bfe6cc}
.call-form .call-status.is-error{background:#fdecec;color:#a4231b;border:1px solid #f6c6c2}
.call-form .call-status.is-success::before,.call-form .call-status.is-error::before{content:"";flex:0 0 auto;width:20px;height:20px;border-radius:50%;color:#fff;font-size:12px;font-weight:800;line-height:20px;text-align:center}
.call-form .call-status.is-success::before{content:"\2713";background:#1f9d55}
.call-form .call-status.is-error::before{content:"!";background:#d33}

/* Loading button */
.call-form button{position:relative}
.call-form button.is-loading{color:transparent}
.call-form button.is-loading::after{content:"";position:absolute;inset:0;margin:auto;width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:call-spin .7s linear infinite}
@keyframes call-spin{to{transform:rotate(360deg)}}

.call-form .call-turnstile{min-height:65px}
