.guest-entry {
    display: flex;
    align-items: end;
    gap: 14px;
}

.guest-entry .seat-field {
    flex: 1;
}

.add-guest-button,
.remove-guest-button {
    border: 0;
    background: transparent;
    color: var(--rose);
    cursor: pointer;
    font: 500 12px var(--sans);
}

.add-guest-button {
    padding: 4px 0 12px;
}

.remove-guest-button {
    padding: 0 0 14px;
}

.guest-contact-note {
    color: var(--muted);
    font-size: 11px;
    margin: 2px 0 0;
}

.attire-palette {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
    margin-top: 20px;
}

.attire-color {
    display: flex;
    flex-direction: column;
    align-items: center;
    font: 15px/1.05 var(--serif);
    text-align: center;
}

.color-swatch {
    width: min(100%, 48px);
    aspect-ratio: 1;
    border-radius: 50%;
    margin-bottom: 5px;
}

.sage-swatch { background: #b3c6a9; }
.moss-swatch { background: #899f7c; }
.olive-swatch { background: #5a684d; }
.pale-brown-swatch { background: #a58b79; }
.light-taupe-swatch { background: #baa391; }

.guest-attire-card p {
    min-height: 0;
}

.attire-options {
    grid-template-columns: minmax(0, 1fr);
}

@media (max-width: 480px) {
    .guest-entry {
        gap: 8px;
    }

    .attire-palette {
        gap: 5px;
    }

    .color-swatch {
        width: min(12vw, 44px);
    }

    .attire-color {
        font-size: 15px;
    }
}