:root {
    --availability-search-spacing: 10px;
    --availability-search-button-font-size: 16px;
    --availability-search-button-font-weight: normal;
    --availability-search-button-border-width: 1px;
    --availability-search-button-border: #000;
    --availability-search-button-border-hover: #000;
    --availability-search-button-background: #fff;
    --availability-search-button-background-hover: #000;
    --availability-search-button-text: #000;
    --availability-search-button-text-hover: #fff;
    --availability-search-button-radius: 6px;
    --availability-search-button-padding: 15px 23px;
    --availability-search-input-font-size: 16px;
    --availability-search-input-border: #000;
    --availability-search-input-border-width: 1px;
    --availability-search-input-background: #fff;
    --availability-search-input-text: #000;
    --availability-search-input-radius: 6px;
    --availability-search-input-padding: 5px;
}

.availability-search {
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: row;
    justify-content: start;
    align-items: stretch;
    gap: var(--availability-search-spacing);
}

.availability-search-error {
    background-color: lightpink;
    color: darkred;
    border: solid 1px darkred;
    padding: 10px;
    margin: 10px 0;
    border-radius: 4px;
}

.availability-search__date__label {
    position: absolute;
    left: -10000px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.availability-search__date, .availability-search__date:read-only {
    display: inline-block;
    margin: 0;
    padding: var(--availability-search-input-padding);
    background-color: var(--availability-search-input-background);
    color: var(--availability-search-input-text);
    border-width: var(--availability-search-input-border-width);
    border-style: solid;
    border-color: var(--availability-search-input-border);
    outline: none;
    border-radius: var(--availability-search-input-radius);
    font-size: var(--availability-search-input-font-size);
    font-weight: normal;
}

.availability-search__submit {
    display: inline-block;
    margin: 0;
    height: auto;
    padding: var(--availability-search-button-padding);
    border-width: var(--availability-search-button-border-width);
    border-style: solid;
    border-color: var(--availability-search-button-border);
    background-color: var(--availability-search-button-background);
    color: var(--availability-search-button-text);
    border-radius: var(--availability-search-button-radius);
    transition: all .3s;
    font-size: var(--availability-search-button-font-size);
    font-weight: var(--availability-search-button-font-weight);
}

.availability-search__submit:hover {
    background-color: var(--availability-search-button-background-hover);
    color: var(--availability-search-button-text-hover);
    border-color: var(--availability-search-button-border-hover);
}