.wh-sc-double-calendar {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 50px;
    width: 100%;
    max-width: 750px;
    margin: 0 auto 25px auto;
}

.wh-single-calendar {
    min-width: 320px;
    max-width: 340px;
    background: #fff;
    border-radius: 13px;
    box-shadow: 0 2px 12px #2a3c5616;
    font-family: sans-serif;
    padding: 12px 10px 18px 10px;
    margin-bottom: 0;
    flex: 1 1 340px;
}

.wh-sc-title {
    text-align: center;
    font-size: 1.2em;
    font-weight: 700;
    color: #19408d;
    margin: 12px 0 12px 0;
}

.wh-sc-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 8px;
}

.wh-sc-table th,
.wh-sc-table td {
    width: 52px;
    height: 52px;
    min-width: 52px;
    min-height: 52px;
    box-sizing: border-box;
    text-align: center;
    vertical-align: middle;
    padding: 0;
    font-size: 1em;
}

.wh-sc-table th {
    background: #0e86d4;
    color: #fff;
    font-size: 1.05em;
    font-weight: 600;
    border-radius: 4px 4px 0 0;
}

.wh-sc-table td {
    position: relative;
    background: #fff;
    transition: background 0.2s;
    font-size: 1em;
    overflow: hidden;
}

.wh-sc-table td:empty {
    min-width: 52px;
    min-height: 52px;
    width: 52px;
    height: 52px;
    background: #f9f9f9;
    content: "";
    display: table-cell;
}

.wh-sc-avail {
    background: #e8faee;
    color: #21b07b;
    border-radius: 7px;
    font-weight: 700;
}

.wh-sc-unavail {
    background: #ffeaea;
    color: #e05260;
    border-radius: 7px;
    font-weight: 700;
    text-decoration: line-through;
}

.wh-sc-today {
    border: 2px solid #0e86d4;
    box-sizing: border-box;
}

.wh-sc-price {
    display: block;
    font-size: 0.91em;
    color: #323;
    margin-top: 2px;
    font-weight: 400;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.wh-sc-legend {
    font-size: 0.99em;
    margin-top: 10px;
    color: #444;
    display: flex;
    align-items: center;
    gap: 32px;
}

.wh-sc-badge {
    display: inline-block;
    width: 19px;
    height: 19px;
    border-radius: 7px;
    margin-right: 7px;
    vertical-align: middle;
}
.wh-sc-badge.wh-sc-avail { background: #e8faee; border: 1.5px solid #21b07b; }
.wh-sc-badge.wh-sc-unavail { background: #ffeaea; border: 1.5px solid #e05260; }

.wh-sc-error {
    color: #e05260;
    background: #fff2f3;
    border-radius: 7px;
    padding: 12px 17px;
    font-weight: 600;
    margin-bottom: 20px;
}

@media (max-width: 900px) {
    .wh-sc-double-calendar {
        flex-direction: column;
        gap: 18px;
        max-width: 100%;
    }
    .wh-single-calendar {
        margin-bottom: 20px;
    }
}
