/* Pass-code lookup: the /b/lookup page and the "Already booked?" box on booking and login pages.
   The pass code is what the pass and confirmation email show; the box opens /b/{code}. */

.pass-lookup { margin: 16px 0 0; font-size: .95rem; color: var(--color-body, #485068); }
.pass-lookup > summary {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 44px;
    cursor: pointer;
    color: var(--color-green-dk, #107838);
    font-weight: 600;
    list-style: none;
}
.pass-lookup > summary::-webkit-details-marker { display: none; }
.pass-lookup > summary::after { content: "›"; font-size: 1.1em; transition: transform .15s; }
.pass-lookup[open] > summary::after { transform: rotate(90deg); }
.pass-lookup > summary:focus-visible,
.pass-lookup-form input:focus-visible,
.pass-lookup-form button:focus-visible {
    outline: none;
    box-shadow: var(--focus-ring, 0 0 0 3px rgba(34, 164, 71, .45));
    border-radius: var(--radius-sm, 6px);
}

.pass-lookup-form { margin-top: 6px; }
.pass-lookup-form label {
    display: block;
    font-size: .8rem;
    font-weight: 600;
    color: var(--color-ink, #0E1A2B);
    margin-bottom: 4px;
}
.pass-lookup-row { display: flex; gap: 8px; flex-wrap: wrap; }
.pass-lookup-form input {
    flex: 1 1 200px;
    min-width: 0;
    min-height: 44px;
    padding: 8px 12px;
    font: 500 1rem/1.3 var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--color-ink, #0E1A2B);
    background: #fff;
    border: 1.5px solid var(--color-hairline, #E5E7EB);
    border-radius: var(--radius-sm, 6px);
    box-sizing: border-box;
}
.pass-lookup-form input::placeholder { color: var(--color-muted, #9FB0C0); letter-spacing: .06em; }
.pass-lookup-form input[aria-invalid="true"] { border-color: var(--color-alert, #B81818); }
.pass-lookup-form button {
    flex: 0 0 auto;
    min-height: 44px;
    padding: 8px 16px;
    font-weight: 600;
    font-size: .95rem;
    color: #fff;
    background: var(--color-green-dk, #107838);
    border: 0;
    border-radius: var(--radius-sm, 6px);
    cursor: pointer;
}
.pass-lookup-form button:hover { background: var(--color-ink, #0E1A2B); }

/* The standalone page */
.pass-lookup-intro { margin: 0 0 14px; line-height: 1.5; }
.pass-lookup-miss {
    margin: 0 0 14px;
    padding: 10px 14px;
    font-size: .9rem;
    line-height: 1.45;
    color: var(--color-alert, #B81818);
    background: #FDF2F2;
    border: 1px solid var(--color-alert, #B81818);
    border-radius: var(--radius-md, 9px);
}
.pass-lookup-form--page .pass-lookup-row { flex-direction: column; }
.pass-lookup-form--page input { flex: none; width: 100%; }
.pass-lookup-form--page button { width: 100%; }
.pass-lookup-foot { margin: 16px 0 0; font-size: .85rem; line-height: 1.5; }
