.appointment-container {
    display: flex;
    justify-content: center;
}

.appointment {
    background: #F8F9FA;
    padding: 25px;
    border-radius: 10px;
    float: unset !important;
    margin: 0 !important;
    width: clamp(500px, 50%, 100%) !important;
}

.appointment .error-message {
    color: #df0202;
    font-size: .85em;
}

.appointment .button {
    margin-top: 15px;
}

.store-details {
    background: #f1f3f5;
    border-radius: .3rem;
    overflow: hidden;
    margin-top: 10px;
    font-size: 14px;
}

.appointment .store-details > strong {
    background: #ced4da;
    padding: 9px 11px;
    display: block;
}

.appointment .store-details > .store-description {
    padding: 9px 11px;
}

#appointment-form label {
    display: flex;
    margin: 15px 0 5px;
    color: #111;
    font-size: 14px;
    font-weight: 600;
    align-items: center;
}

#appointment-form label.has-gap {
    gap: 8px;
}

#appointment-form input:not([type="checkbox"]), #appointment-form select, #appointment-form button {
    width: 100%;
}

#toggle-store-details {
    color: var(--clr-primary);
    border: none;
    padding: 10px;
    cursor: pointer;
    font-size: .85em;
}

#store-details {
    font-size: .85em;
    margin: 5px 0;
}

.status-success, .status-error {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 15px;
}

.status-success > svg, .status-error > svg {
    width: 48px;
    height: 48px;
}

.status-success > svg {
    color: #00d084;
}

.status-error > svg {
    color: #df0202;
}

.status-success > p, .status-error > p {
    margin-bottom: 0;
    font-size: 1.2em;
}

.appointment .fetching-message p {
    font-size: .85em;
}

