.tb-weather {
    --tb-weather-card-width: 150px;
    --tb-weather-card-height: 205px;

    width: 100%;
    max-width: var(--tb-breakpoint-medium);
    margin: 0 var(--tb-spacing-60);
    padding: var(--tb-spacing-50) 0;
    display: flex;
    flex-direction: column;
    gap: var(--tb-spacing-40);
    color: var(--tb-color-yellow-800);
}

.tb-weather-detail {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: var(--tb-spacing-100);
}

.tb-weather-best {
    display: flex;
    align-items: center;
    gap: var(--tb-spacing-10);
    flex-shrink: 0;
    color: var(--tb-color-blue-800);
}

.tb-weather-best span {
    width: 25px;
    height: 25px;
    background-color: var(--tb-color-yellow-500);
    border-radius: 50%;
}

.tb-weather-months {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: var(--tb-spacing-40) calc((100% - var(--tb-weather-card-width) * 6) / 5);
}

.tb-weather-month {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: var(--tb-spacing-20);
}

.tb-weather-card {
    width: var(--tb-weather-card-width);
    height: var(--tb-weather-card-height);
    border-radius: var(--tb-radius-75);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--tb-spacing-10);
}

.tb-weather-card.tb-weather-preferred {
    background-color: var(--tb-color-yellow-500);
    color: var(--tb-color-yellow-900);
}

.tb-weather-card.tb-weather-avoid {
    background-color: var(--tb-color-yellow-200);
    color: var(--tb-color-yellow-700);
}

.tb-weather-temp,
.tb-weather-rain {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--tb-spacing-5);
}

.tb-weather-icon {
    width: 35px;
    height: 35px;
}

.tb-weather-preferred .tb-weather-icon {
    fill: var(--tb-color-white);
}

.tb-weather-avoid .tb-weather-icon {
    fill: var(--tb-color-yellow-500);
}

@media (max-width: 1440px) {
    .tb-weather-months {
        gap: var(--tb-spacing-40) calc((100% - var(--tb-weather-card-width) * 5) / 4);
    }
}

@media (max-width: 1024px) {
    .tb-weather {
        margin: 0 var(--tb-spacing-50);
    }

    .tb-weather-months {
        gap: var(--tb-spacing-40) calc((100% - var(--tb-weather-card-width) * 4) / 3);
    }
}

@media (max-width: 768px) {
    .tb-weather {
        --tb-weather-card-width: 120px;
        --tb-weather-card-height: 180px;

        text-align: center;
        align-items: center;
    }

    .tb-weather-detail {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: var(--tb-spacing-40);
    }

    .tb-weather-months {
        gap: var(--tb-spacing-40) var(--tb-spacing-20);
    }
}

@media (max-width: 500px) {
    .tb-weather {
        margin: 0 var(--tb-spacing-20);
    }
}
