/* "Book a free call" dialog: a few quick questions, then WhatsApp. */
.book-call {
    width: min(100% - 2rem, 30rem);
    max-height: calc(100dvh - 2rem);
    padding: 0;
    border: 0;
    border-radius: var(--radius);
    background: var(--card);
    color: var(--ink);
    box-shadow: var(--shadow);
}
.book-call::backdrop { background: rgba(26, 23, 20, 0.6); }
.book-call[open] { animation: book-call-in 0.35s var(--ease); }
@keyframes book-call-in { from { opacity: 0; transform: translateY(16px); } }
@media (prefers-reduced-motion: reduce) { .book-call[open] { animation: none; } }

.book-call__form { display: grid; gap: 1.35rem; padding: clamp(1.4rem, 5vw, 2rem); }
.book-call__head { display: grid; gap: 0.4rem; padding-right: 2.5rem; }
.book-call__title { font: 600 clamp(1.45rem, 5vw, 1.75rem)/1.15 var(--serif); }
.book-call__title em { color: var(--clay); font-style: italic; }
.book-call__sub { color: var(--muted); font-size: 0.95rem; }
.book-call__close {
    position: absolute; top: 0.9rem; right: 0.9rem;
    width: 2.5rem; height: 2.5rem; border: 0; border-radius: 50%;
    background: var(--paper); color: var(--ink); font-size: 1.4rem; line-height: 1; cursor: pointer;
}
.book-call__close:hover { background: var(--paper-deep); }

.book-call__field { display: grid; gap: 0.6rem; }
.book-call fieldset { border: 0; margin: 0; padding: 0; display: grid; gap: 0.6rem; }
.book-call legend, .book-call__label { padding: 0; font-weight: 700; font-size: 0.95rem; }
.book-call__hint { color: var(--faint); font-weight: 400; }
.book-call__input {
    width: 100%; padding: 0.8rem 1rem; border: 2px solid var(--line); border-radius: var(--radius-sm);
    font: 400 1rem var(--sans); color: var(--ink); background: #fff;
}
.book-call__input:focus { outline: none; border-color: var(--clay-deep); }

/* Answers are chips: the real radio/checkbox stays focusable but visually hidden. */
.book-call__options { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.book-call__option input { position: absolute; opacity: 0; pointer-events: none; }
.book-call__option span {
    display: inline-block; padding: 0.55rem 1rem; border: 2px solid var(--line); border-radius: 999px;
    font-size: 0.92rem; font-weight: 600; cursor: pointer;
    transition: background-color 0.2s, border-color 0.2s, color 0.2s;
}
.book-call__option span:hover { border-color: var(--ink); }
.book-call__option input:checked + span { background: var(--ink); border-color: var(--ink); color: #fff; }
.book-call__option input:focus-visible + span { outline: 3px solid var(--clay-deep); outline-offset: 2px; }

.book-call__price { font-size: 0.92rem; color: var(--muted); }
.book-call__error { min-height: 1.2em; margin-top: -0.6rem; color: var(--clay-deep); font-size: 0.92rem; font-weight: 600; }
.book-call__submit { width: 100%; }
.book-call__note { margin-top: -0.5rem; text-align: center; font-size: 0.85rem; color: var(--muted); }
