.specialty-directory{background:linear-gradient(180deg,#f1f8fb,#fff)}.directory-toolbar{display:flex;gap:12px;align-items:center;margin:24px 0}.directory-search{flex:1;border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:#fff}.directory-count{font-size:.78rem;font-weight:850;color:var(--muted)}.directory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.directory-card{border:1px solid var(--line);border-radius:19px;background:#fff;padding:21px;transition:.22s}.directory-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.directory-card span{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-weight:900}.directory-card h3{margin:8px 0}.directory-card p{color:var(--muted);font-size:.84rem}.directory-card[hidden]{display:none}.appointment-wizard{max-width:850px;margin:36px auto 0;border:1px solid var(--line);border-radius:27px;background:#fff;padding:30px;box-shadow:var(--shadow)}.wizard-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:26px}.wizard-progress span{height:6px;border-radius:999px;background:#dfe8ec}.wizard-progress span.is-active{background:var(--accent)}.wizard-step[hidden]{display:none}.wizard-step h2{font-size:clamp(1.8rem,3vw,2.7rem);margin:8px 0 18px}.wizard-options{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.wizard-choice{position:relative}.wizard-choice input{position:absolute;opacity:0}.wizard-choice span{display:block;border:1px solid var(--line);border-radius:15px;padding:16px;cursor:pointer;font-weight:800}.wizard-choice input:checked+span{background:var(--ink);color:#fff;border-color:var(--ink)}.wizard-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.wizard-fields label{font-size:.8rem;font-weight:800}.wizard-fields input,.wizard-fields select,.wizard-fields textarea{display:block;width:100%;margin-top:6px;border:1px solid var(--line);border-radius:12px;padding:12px}.wizard-actions{display:flex;justify-content:space-between;gap:10px;margin-top:24px}.wizard-summary{padding:18px;border-radius:16px;background:#eef7f8}.wizard-summary strong{display:block;margin-bottom:6px}@media(max-width:900px){.directory-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.directory-grid,.wizard-options,.wizard-fields{grid-template-columns:1fr}.directory-toolbar{align-items:stretch;flex-direction:column}.appointment-wizard{padding:22px}.wizard-actions{flex-direction:column-reverse}.wizard-actions .btn{width:100%}}
