/* Callback consultation: focused, theme-aware and comfortable on phones. */
.callback-trigger{border-bottom:1px solid var(--line);gap:10px;white-space:normal;text-align:left}.landing-actions{flex-wrap:wrap}.closing-callback{margin-top:22px;font-size:16px;gap:20px}
.callback-dialog{max-width:620px;padding:36px;overflow-y:auto;overscroll-behavior:contain}.callback-dialog .eyebrow{font-size:12px;margin-bottom:14px;padding-right:20px}.callback-dialog h2{font-size:35px;letter-spacing:-.045em;line-height:1.12}.callback-intro{font-size:16px;line-height:1.55;color:var(--muted);margin-top:14px;max-width:460px}.callback-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px;margin-top:26px}.callback-fields label{font-size:14px;line-height:1.4;display:flex;flex-direction:column;gap:8px;min-width:0}.callback-fields input,.callback-fields select{width:100%;min-width:0;min-height:48px;border:1px solid var(--line);border-radius:0;background:var(--soft);color:var(--ink);padding:11px 12px;font:inherit;font-size:16px;line-height:1.4}.callback-fields input::placeholder{color:var(--muted);opacity:.8}.callback-fields input:focus,.callback-fields select:focus{outline:1px solid var(--accent);outline-offset:1px}.callback-fields small{font-size:12px;color:var(--muted);line-height:1.45}.callback-time{grid-column:1/-1}.callback-note,.callback-consent{font-size:13px;line-height:1.6;color:var(--muted);margin-top:16px}.callback-consent{margin-top:10px}.callback-submit{width:100%;max-width:none!important;margin-top:20px}.callback-submit:disabled{opacity:.65;cursor:wait}.callback-error{font-size:14px;line-height:1.5;margin-top:16px;color:var(--ink);border-left:2px solid var(--accent);padding-left:12px}.callback-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.callback-success>p:not(.eyebrow){font-size:16px;line-height:1.65;margin-top:20px;color:var(--muted)}.success-mark{display:grid;place-items:center;width:50px;height:50px;border:1px solid var(--line);color:var(--accent);font-size:24px;margin-bottom:25px}.callback-success .callback-summary{color:var(--ink)!important;padding-block:18px;border-block:1px solid var(--line)}.callback-done{max-width:none!important;width:100%;margin-top:28px}.callback-dialog [hidden]{display:none!important}
@media(max-width:640px){.callback-dialog{padding:36px 22px 24px;max-height:calc(100dvh - 24px);width:calc(100% - 24px)}.callback-dialog h2{font-size:30px}.callback-fields{grid-template-columns:1fr;gap:15px;margin-top:22px}.callback-dialog .eyebrow{font-size:11px}.callback-time{grid-column:auto}.callback-dialog input[type=datetime-local]{appearance:none;min-height:48px}.landing-actions .callback-trigger{min-height:44px;font-size:14px}.callback-dialog .dialog-close{right:8px;top:7px}}

/* Center the consultation within the visible viewport, including embedded previews. */
dialog.callback-dialog{box-sizing:border-box;inset:0;margin:auto;width:calc(100% - 64px);max-width:510px;max-height:min(820px,calc(100dvh - 64px));overflow-y:auto}
@media(max-width:760px){dialog.callback-dialog{width:calc(100% - 48px);max-width:420px;max-height:86dvh;padding:26px 20px 22px}dialog.callback-dialog h2{font-size:25px}dialog.callback-dialog .callback-fields{gap:10px;margin-top:16px}dialog.callback-dialog .callback-intro{font-size:14px}dialog.callback-dialog .dialog-close{min-width:40px;min-height:40px;right:5px;top:4px}}

.callback-time select{margin-bottom:6px}.callback-time .booking-reload{align-self:flex-start;background:none;border:0;border-bottom:1px solid var(--line);padding:8px 0;color:var(--accent);font:inherit;font-size:13px;min-height:40px;cursor:pointer}.booking-slot-status{display:block}.callback-time select:disabled{opacity:.5}
