.drecha-waitlist {
    box-sizing: border-box;
    margin: 1.5rem 0;
    padding: clamp(1rem, 3vw, 1.5rem);
    border: 1px solid #b9c7d8;
    border-left: 4px solid #1454a3;
    border-radius: 4px;
    background: #f7faff;
    color: #1f2937;
}

.drecha-waitlist :where(h1, h2, h3, h4, h5, h6, p, li, legend, label, span, strong, small) {
    color: inherit;
}

.drecha-waitlist h3 { margin-top: 0; }

.drecha-waitlist-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.drecha-waitlist-form label {
    display: grid;
    gap: .35rem;
    font-weight: 700;
}

.drecha-waitlist-form input,
.drecha-waitlist-form select {
    box-sizing: border-box;
    width: 100%;
    min-height: 2.75rem;
    padding: .6rem .7rem;
    border: 1px solid #8596ad;
    border-radius: 4px;
    background: #fff;
    color: #172033;
    font: inherit;
}

.drecha-waitlist-form button {
    justify-self: start;
    min-height: 2.75rem;
    padding: .65rem 1rem;
    border: 1px solid #1454a3;
    border-radius: 4px;
    background: #1454a3;
    color: #fff;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.drecha-waitlist-form input:focus-visible,
.drecha-waitlist-form select:focus-visible,
.drecha-waitlist-form button:focus-visible {
    outline: 3px solid #ffbf47;
    outline-offset: 2px;
}

@media (max-width: 700px) {
    .drecha-waitlist-form { grid-template-columns: 1fr; }
    .drecha-waitlist-form button { width: 100%; }
}

@media (forced-colors: active) {
    .drecha-waitlist,
    .drecha-waitlist-form input,
    .drecha-waitlist-form select,
    .drecha-waitlist-form button { border: 1px solid CanvasText; }
}
